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