您無法在啟用運行時錯誤輸出的同一文件中捕獲解析錯誤,因為它在實際執(zhí)行任何內(nèi)容之前對文件進行解析(并且由于在此過程中遇到錯誤,它不會執(zhí)行任何內(nèi)容)。您需要更改實際的服務器配置,以便打開display_errors并使用適當?shù)膃rror_reporting級別。如果您無法訪問php.ini,您可能可以使用.htaccess或類似的方法,這取決于服務器。
此問題可能提供額外的信息。
這對我總是有效:
ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); error_reporting(E_ALL);
然而,這并不能讓PHP顯示在同一文件中發(fā)生的解析錯誤 - 顯示這些錯誤的唯一方法是修改你的php.ini文件,加入這一行:
display_errors = on
(如果你無法訪問php.ini
,那么將這一行放在.htaccess
中也可能有效):
php_flag display_errors 1
請注意,上述建議僅適用于開發(fā)環(huán)境。在生產(chǎn)環(huán)境中,必須將其設置為:
display_errors = off log_errors = on
然后你就能在錯誤日志中看到所有的錯誤。請參閱在哪里找到PHP錯誤日志
對于AJAX調(diào)用,在開發(fā)服務器上打開DevTools(F12),然后選擇Network選項卡。
然后發(fā)起你想要查看結(jié)果的請求,它將出現(xiàn)在Network選項卡中。點擊它,然后選擇Response選項卡。在那里你將看到確切的輸出。
而在生產(chǎn)服務器上,同樣只需檢查錯誤日志。