如何顯示 PHP 錯誤?
P粉807397973
P粉807397973 2023-08-23 10:45:28
0
2
503
<p>我已檢查我的PHP ini 檔案(<code>php.ini</code>) 並設定了<code>display_errors</code>,並且錯誤報告為<code>E_ALL</code> ;。我已經重新啟動了我的 Apache 網路伺服器。 </p> <p>我甚至將這些行放在腳本的頂部,它甚至沒有捕獲簡單的解析錯誤。例如,我使用 <code>"$"</code> 聲明變量,但不關閉語句<code>";"</code>。但我的所有腳本都在這些錯誤上顯示空白頁面,但我想在瀏覽器輸出中實際看到<strong>錯誤</strong>。 </p> <pre class="brush:php;toolbar:false;">error_reporting(E_ALL); ini_set('display_errors', 1);</pre> <p>還需要做什麼? </p>
P粉807397973
P粉807397973

全部回覆(2)
P粉203648742

您無法在運行時啟用錯誤輸出的相同文件中捕獲解析錯誤,因為它在實際執行任何內容之前解析文件(並且由於在此期間遇到錯誤,因此它不會執行任何內容)。您需要變更實際的伺服器配置,以便開啟 display_errors 並使用適當的 error_reporting 等級。如果您無法存取 php.ini,您也許可以使用 .htaccess 或類似文件,這取決於伺服器。

此問題可能會提供更多資訊。

P粉465287592

開發環境

這對我來說總是有效:

ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

但是,這不會使 PHP 顯示在同一文件中發生的解析錯誤 - 顯示這些錯誤的唯一方法是使用以下行修改 php.ini:

display_errors = on

(如果您無法存取 php.ini,則將此行放入 .htaccess 中也可能有效):

php_flag display_errors 1

產品環境

請注意,上述建議僅適用於開發環境。在實際網站上,它必須是

display_errors = off
log_errors = on

然後您將能夠在錯誤日誌中看到所有錯誤。請參閱在哪裡可以找到 PHP 錯誤日誌

AJAX 呼叫

如果是 AJAX 調用,請在開發伺服器上開啟 DevTools (F12),然後開啟「網路」標籤。 然後發起您想要看到的結果的請求,它將出現在「網路」標籤中。單擊它,然後單擊“響應”選項卡。在那裡您將看到確切的輸出。
在實時伺服器上時,只需檢查錯誤日誌即可。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!