Troubleshooting of PHP errors: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
檔案操作有關
== 檔案操作有關 ==
* 可否讀取或寫入:例如 imagejpeg($canvas, $filename, 100); 沒有顯示錯誤訊息,則需要
* 可否讀取或寫入:例如 imagejpeg($canvas, $filename, 100); 沒有顯示錯誤訊息,則需要
** 檢查暫存目錄是否可以寫入 [http://stackoverflow.com/questions/1520956/php-way-to-find-the-web-servers-temp-path upload - PHP way to find the web server's temp path? - Stack Overflow]
** 檢查暫存目錄是否可以寫入 [http://stackoverflow.com/questions/1520956/php-way-to-find-the-web-servers-temp-path upload - PHP way to find the web server's temp path? - Stack Overflow]
Line 6: Line 6:




使用者輸入內容,內容可能是
== 使用者輸入內容 ==
,內容可能是
* 空值 <== 對策: [http://php.net/manual/en/function.trim.php PHP: trim] 或 jQuery [http://api.jquery.com/jQuery.trim/ $.trim('string')]
* 空值 <== 對策: [http://php.net/manual/en/function.trim.php PHP: trim] 或 jQuery [http://api.jquery.com/jQuery.trim/ $.trim('string')]
* 包含單引號 '
* 包含單引號 '
Line 15: Line 16:
* (可勾選多個項目的狀況下) 指勾選了單一項目或者沒有勾選項目,就送出(submit)表格
* (可勾選多個項目的狀況下) 指勾選了單一項目或者沒有勾選項目,就送出(submit)表格


操作順序
== 操作順序 ==
* 使用者的操作順序,可能不按照功能設計的順序
* 使用者的操作順序,可能不按照功能設計的順序
* 沒有選取任何項目,就提交(submit)或操作表格
* 沒有選取任何項目,就提交(submit)或操作表格
----
----


執行PHP時顯示原始碼的錯誤
== 錯誤訊息 ==
=== 執行PHP時顯示原始碼的錯誤 ===
* 確認伺服器是否能執行 PHP。驗證: [http://php.net/manual/en/function.phpinfo.php phpinfo]
* 確認伺服器是否能執行 PHP。驗證: [http://php.net/manual/en/function.phpinfo.php phpinfo]
* 如果 PHP 使用 short tag語法撰寫,則 php.ini 檔案 需要開啟 short_open_tag = Off -> On
* 如果 PHP 使用 short tag語法撰寫,則 php.ini 檔案 需要開啟 short_open_tag = Off -> On


錯誤訊息: ERROR: 00000::
=== 錯誤訊息: ERROR: 00000:: ===
* 原因: 想要刪除的資料不在 MySQL 資料庫內,進行刪除時,會發生的錯誤。
* 原因: 想要刪除的資料不在 MySQL 資料庫內,進行刪除時,會發生的錯誤。
* 解決方法: 先檢查該資料是否存在,再進行刪除。
* 解決方法: 先檢查該資料是否存在,再進行刪除。


錯誤訊息:
=== 錯誤訊息: phpinfo() has been disabled ===
<pre>
<pre>
PHP Warning:  phpinfo() has been disabled for security reasons in /path/to/phpinfo.php on line xx
PHP Warning:  phpinfo() has been disabled for security reasons in /path/to/phpinfo.php on line xx
Line 34: Line 36:
* 原因: 網管關閉使用 phpinfo
* 原因: 網管關閉使用 phpinfo
* 替代解決方法 for {{linux}}: 使用 linux command {{kbd | key = <nowiki>/path/to/bin/php -i | grep "變數名稱"</nowiki>}}
* 替代解決方法 for {{linux}}: 使用 linux command {{kbd | key = <nowiki>/path/to/bin/php -i | grep "變數名稱"</nowiki>}}
=== 錯誤訊息: PHP syntax error “unexpected $end” ===
解決方法
* 使用 [http://notepad-plus-plus.org/ Notepad++]{{kbd | key=ctrl}} + {{kbd | key=b}} 檢查括弧是否封閉
* 使用 [http://www.sublimetext.com/ Sublime Text]{{kbd | key=ctrl}} + {{kbd | key=m}} 檢查括弧是否封閉


== references ==
== references ==

Navigation menu