php 返回 500 错误,但没有错误日志

2022-08-30 09:25:54

当我有一个返回内部服务器错误(500)的php应用程序时,我遇到了一个问题,但是错误日志中没有显示任何内容。

现在我知道我尝试运行的内容有错误,我知道我丢失了一些文件,什么没有,但apache错误日志中应该显示一些东西(否则我应该如何确切地知道我错过了什么)。

我创建了一个测试脚本,在相同的vhost配置下出错,这些错误显示得很好,所以就php / apache而言,一切似乎都配置正确。是否有某些php错误确实显示在错误日志中(php配置为显示任何类型的通知,警告,错误,致命错误等)?

这是在ubunut 10.04上运行的,标准apache和来自ubuntu repo的php with apt-get。


答案 1

扫描源文件以查找 。@

来自 php 文档站点

目前,“@”错误控制运算符前缀甚至会禁用将终止脚本执行的严重错误的错误报告。除此之外,这意味着如果您使用“@”来抑制来自某个函数的错误,并且它不可用或被错误键入,则脚本将在那里死亡,而没有指示原因。


答案 2

如果仍然有 500 错误并且没有日志,则可以尝试从命令行执行:

php -f file.php

它不会像在浏览器中(从服务器)一样工作,但是如果您的代码中存在语法错误,您将在控制台中看到错误消息。


推荐