Troubleshooting of PHP errors: Difference between revisions

Jump to navigation Jump to search
Line 24: Line 24:


=== 執行PHP時顯示原始碼的錯誤 ===
=== 執行PHP時顯示原始碼的錯誤 ===
* 確認伺服器是否能執行 PHP,不能的話,需要檢查 [http://php.net/manual/en/install.php 安裝 PHP] 步驟。驗證方式:  
確認伺服器是否能執行 PHP
* 驗證方式:  
** 網頁伺服器放置寫了 [http://php.net/manual/en/function.phpinfo.php phpinfo] 的 PHP 檔案 / [http://www.commandlinefu.com/commands/view/818/phpinfo-from-the-command-line phpinfo from the command line | commandlinefu.com],看是否可以顯示結果。或
** 網頁伺服器放置寫了 [http://php.net/manual/en/function.phpinfo.php phpinfo] 的 PHP 檔案 / [http://www.commandlinefu.com/commands/view/818/phpinfo-from-the-command-line phpinfo from the command line | commandlinefu.com],看是否可以顯示結果。或
** {{kbd | key = <nowiki>php -v</nowiki>}} 如果可以顯示 PHP 版本,代表有安裝 PHP
** {{kbd | key = <nowiki>php -v</nowiki>}} 如果可以顯示 PHP 版本資訊,代表有安裝 PHP 成功。
* 如果 PHP 使用 short tag 語法撰寫,但是沒有啟用 short_open_tag ,會造成顯示原始碼的錯誤。驗證方式:  
* 解決方式:
** (1) 輸入指令 {{kbd | key = <nowiki>php -i | grep short_open_tag</nowiki>}} (2) php.ini 檔案 需要開啟 short_open_tag = Off -> On (3) 重新啟動網頁伺服器服務,讓 php.ini 修改生效
** 不能執行 PHP 的話,需要檢查 [http://php.net/manual/en/install.php 安裝 PHP] 步驟。
 
如果 PHP 使用 short tag 語法撰寫,但是沒有啟用 short_open_tag ,會造成顯示原始碼的錯誤。
* 驗證方式:  
** 輸入指令 {{kbd | key = <nowiki>php -i | grep short_open_tag</nowiki>}} 確認結果為 short_open_tag = Off
* 解決方式:
** 法1: 啟用 short_open_tag (1) php.ini 檔案 需要開啟 short_open_tag = Off -> On (2) 重新啟動網頁伺服器服務,讓 php.ini 修改生效
** 法2: 不啟用 short_open_tag,將多個 PHP 檔案的 {{kbd | key=<nowiki><? </nowiki>}} 改成 {{kbd | key=<nowiki><?php </nowiki>}}。 (1) 使用支援 [[Regular expression]] 的文字編輯軟體、(2) 搜尋 {{kbd | key=<nowiki><\?\s</nowiki>}} 取代為 {{kbd | key=<nowiki><\?php </nowiki>}} 。請注意取代部分結尾有一個空白。


=== 錯誤訊息: ERROR: 00000:: ===
=== 錯誤訊息: ERROR: 00000:: ===

Navigation menu