搜尋

首頁  >  問答  >  主體

如何顯示 PHP 錯誤?

<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粉807397973P粉807397973461 天前560

全部回覆(2)我來回復

  • P粉203648742

    P粉2036487422023-08-24 09:52:04

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

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

    回覆
    0
  • P粉465287592

    P粉4652875922023-08-24 09:23:23

    開發環境

    這對我來說總是有效:

    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),然後開啟「網路」標籤。 然後發起您想要看到的結果的請求,它將出現在「網路」標籤中。單擊它,然後單擊“響應”選項卡。在那裡您將看到確切的輸出。
    在實時伺服器上時,只需檢查錯誤日誌即可。

    回覆
    0
  • 取消回覆