以前从未发生过这种情况。通常它会显示错误,但现在它只给我一个 500 内部服务器错误。当然之前,当它显示错误时,是不同的服务器。现在我在一个新服务器上(我有完整的 root,所以如果我需要在 php.ini 中的某个地方配置它,我可以。)或者可能是 Apache 的东西?
我一直在忍受它,只是将文件传输到我的其他服务器并在那里运行它来查找错误,但这变得太乏味了。有办法解决这个问题吗?
P粉8855625672023-10-15 09:02:36
从命令行使用 php -l <filename>
(即“L”)输出可能导致 PHP 抛出状态 500 错误的语法错误。它会输出如下内容:
PHP 解析错误:语法错误,第 18 行
P粉7386761862023-10-15 00:29:18
检查 php.ini
文件中的 error_reporting
、display_errors
和 display_startup_errors
设置。它们应分别设置为 E_ALL
和 "On"
(尽管您不应该在生产服务器上使用 display_errors
,因此禁用此选项并使用 < code>log_errors 相反,如果/当你部署它时)。您还可以在脚本的开头更改这些设置(display_startup_errors
除外),以便在运行时设置它们(尽管您可能无法通过这种方式捕获所有错误):
error_reporting(E_ALL); ini_set('display_errors', 'On');
之后,重新启动服务器。