suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie erhalte ich nützliche Fehlermeldungen in PHP?

<p>Ich versuche oft, ein PHP-Skript auszuführen und erhalte nur einen leeren Bildschirm. Keine Fehlermeldung; nur ein leerer Bildschirm. Die Ursache könnte ein einfacher Syntaxfehler (falsche Klammern, fehlendes Semikolon) oder ein fehlgeschlagener Funktionsaufruf oder etwas ganz anderes sein. </p> <p>Es ist schwer, das Problem genau zu bestimmen. Am Ende habe ich den Code auskommentiert, hier und da „Echo“-Anweisungen eingegeben usw., um das Problem einzugrenzen. Aber es muss einen besseren Weg geben, oder? </p> <p>Gibt es eine Möglichkeit, PHP dazu zu bringen, nützliche Fehlermeldungen zu erzeugen, wie es Java tut? </p>
P粉283559033P粉283559033488 Tage vor559

Antworte allen(2)Ich werde antworten

  • P粉190883225

    P粉1908832252023-08-24 14:59:54

    以下启用所有错误:

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

    另请参阅以下链接

    Antwort
    0
  • P粉575055974

    P粉5750559742023-08-24 14:00:05

    默认情况下,显示错误处于关闭状态,因为您不希望“客户”看到错误消息。

    查看 PHP 文档中的此页面有关 2 个指令的信息:error_reportingdisplay_errorsdisplay_errors 可能是您想要更改的错误。

    所以你有3个选择:

    (1) 您可以检查错误日志文件,因为它将包含所有错误(除非日志记录已被禁用)。要启用错误日志记录,请确保将 log_errors 配置指令设置为 On。当错误不是在 PHP 中发生而是由 Web 服务器发出时,日志也很有用。

    (2) 您可以添加以下两行,这将帮助您调试同一文件中发生的非语法错误的错误:

    error_reporting(E_ALL);
    ini_set('display_errors', 'On');

    请注意,在实时服务器上,后者应设置为关闭(但仅限后者,因为您仍然需要从日志文件中了解发生的所有错误)。

    但是,对于同一文件中发生语法错误,上述命令将不起作用,您需要在 php.ini 中启用它们。如果您无法修改 php.ini,您也可以尝试将以下几行添加到 .htaccess 文件中,尽管现在很少支持:

    php_flag  display_errors        on
    php_value error_reporting       -1

    (3) 另一种选择是使用编辑器在您键入时检查错误,例如 PhpEd、VSCode 或 PHPStorm。它们都带有一个调试器,可以提供更详细的信息。 (PhpEd 调试器与 xdebug 非常相似,并且直接集成到编辑器中,因此您可以使用 1 个程序来完成所有操作。)

    Antwort
    0
  • StornierenAntwort