Das ist noch nie passiert. Normalerweise würde es einen Fehler anzeigen, aber jetzt wird mir nur ein 500 Internal Server Error angezeigt. Als der Fehler vorher angezeigt wurde, handelte es sich natürlich um einen anderen Server. Jetzt bin ich auf einem neuen Server (ich habe vollständiges Root-Verzeichnis, wenn ich es also irgendwo in php.ini konfigurieren muss, kann ich das tun.) Oder ist es vielleicht eine Apache-Sache?
Ich habe es in Kauf genommen und die Dateien einfach auf meinen anderen Server übertragen und dort ausgeführt, um Fehler zu finden, aber es wird zu mühsam. Gibt es eine Möglichkeit, dieses Problem zu lösen?
从命令行使用
php -l
(即“L”)输出可能导致 PHP 抛出状态 500 错误的语法错误。它会输出如下内容:PHP 解析错误:语法错误,第 18 行 中出现意外的“}”
检查
php.ini
文件中的error_reporting
、display_errors
和display_startup_errors
设置。它们应分别设置为E_ALL
和"On"
(尽管您不应该在生产服务器上使用display_errors
,因此禁用此选项并使用 log_errors 相反,如果/当你部署它时)。您还可以在脚本的开头更改这些设置(display_startup_errors
除外),以便在运行时设置它们(尽管您可能无法通过这种方式捕获所有错误):之后,重新启动服务器。