84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
以前從未發生過這種情況。通常它會顯示錯誤,但現在它只給我一個 500 內部伺服器錯誤。當然之前,當它顯示錯誤時,是不同的伺服器。現在我在一個新伺服器上(我有完整的 root,所以如果我需要在 php.ini 中的某個地方配置它,我可以。)或者可能是 Apache 的東西?
我一直在忍受它,只是將文件傳輸到我的其他伺服器並在那裡運行它來查找錯誤,但這變得太乏味了。有辦法解決這個問題嗎?
從命令列使用 php -l (即「L」)輸出可能導致 PHP 拋出狀態 500 錯誤的語法錯誤。它會輸出如下內容:
php -l
PHP 解析錯誤:語法錯誤,第 18 行 中出現意外的「}」
檢查 php.ini 檔案中的 error_reporting、display_errors 和 display_startup_errors 設定。它們應該分別設定為E_ALL 和"On"(儘管您不應該在生產伺服器上使用display_errors,因此停用此選項並使用log_errors 相反,如果/當你部署它時)。您也可以在腳本的開頭更改這些設定(display_startup_errors 除外),以便在運行時設定它們(儘管您可能無法透過這種方式捕獲所有錯誤):
php.ini
error_reporting
display_errors
display_startup_errors
E_ALL
"On"
error_reporting(E_ALL); ini_set('display_errors', 'On');
之後,重新啟動伺服器。
從命令列使用
php -l
(即「L」)輸出可能導致 PHP 拋出狀態 500 錯誤的語法錯誤。它會輸出如下內容:PHP 解析錯誤:語法錯誤,第 18 行 中出現意外的「}」
檢查
php.ini
檔案中的error_reporting
、display_errors
和display_startup_errors
設定。它們應該分別設定為E_ALL
和"On"
(儘管您不應該在生產伺服器上使用display_errors
,因此停用此選項並使用log_errors 相反,如果/當你部署它時)。您也可以在腳本的開頭更改這些設定(display_startup_errors
除外),以便在運行時設定它們(儘管您可能無法透過這種方式捕獲所有錯誤):之後,重新啟動伺服器。