suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie zeige ich PHP-Fehler an?

<p>Ich habe meine PHP-INI-Datei (<code>php.ini</code>) überprüft und <code>display_errors</code> festgelegt und die Fehler werden als <code>E_ALL</code> gemeldet. . Ich habe meinen Apache-Webserver neu gestartet. </p> <p>Ich habe diese Zeilen sogar oben im Skript eingefügt und es werden nicht einmal einfache Parsing-Fehler erkannt. Beispielsweise deklariere ich eine Variable mit <code>"$"</code>, schließe die Anweisung jedoch nicht mit <code>";"</code>. Aber alle meine Skripte zeigen bei diesen Fehlern eine leere Seite an, aber ich möchte die <strong>Fehler</strong> tatsächlich sehen. </p> <pre class="brush:php;toolbar:false;">error_reporting(E_ALL); ini_set('display_errors', 1);</pre> <p>Was muss noch getan werden? </p>
P粉807397973P粉807397973457 Tage vor555

Antworte allen(2)Ich werde antworten

  • P粉203648742

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

    您无法在运行时启用错误输出的同一文件中捕获解析错误,因为它在实际执行任何内容之前解析文件(并且由于在此期间遇到错误,因此它不会执行任何内容)。您需要更改实际的服务器配置,以便打开 display_errors 并使用适当的 error_reporting 级别。如果您无权访问 php.ini,您也许可以使用 .htaccess 或类似文件,具体取决于服务器。

    此问题可能会提供更多信息。

    Antwort
    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),然后打开“网络”选项卡。 然后发起您想要看到的结果的请求,它将出现在“网络”选项卡中。单击它,然后单击“响应”选项卡。在那里您将看到确切的输出。
    在实时服务器上时,只需检查错误日志即可。

    Antwort
    0
  • StornierenAntwort