apache-php返回500错误,但没有错误日志
返回内部服务器错误(500 )的PHP APP应用程序出现了问题,但错误日志中不会显示任何内容。
现在我知道要执行的内容有错误。 我知道有些文件缺失了,但没有丢失。 但是,应该在apache的错误日志中显示一些内容。 否则,应该如何正确地知道自己缺少的内容)。
我编写了测试脚本。 由于此脚本在同一vhost配置中出现错误,并经常显示这些错误,因此所有这些错误似乎都已正确配置在php/apache中。 是否存在错误日志中显示的php错误? (php是否设置为显示所有类型的通知、警告、错误、致命错误等?
这是在ubuntu 10.04中使用标准apache和ubuntu repo中的带apt-get的php完成的。
11个解决方案
51 votes
扫描源文件以找到@。
从php文档网站
当前,即使禁用错误报告,“@”错误控制运算符前缀也会中止脚本执行严重错误。 另外,如果使用“@”来抑制功能错误、无法使用或输入错误,则脚本会在没有给出理由的情况下死在那里。
lucmanswered 2020-01-06t 06336054336034 z
6 votes
有什么东西可能会关闭错误输出。 你知道其他脚本试图将错误正确输出到错误日志吗? )
您可以通过确定脚本结束的位置来开始调试脚本。 首先,在脚本的第一行添加echo 1。 退出;检查浏览器是否输出1,并将行下移。)。
akirkanswered 2020-01-06t 0633605336000 z
6 votes
复制以下内容并将其粘贴到新的. htaccess文件中,然后将其放置在网站的根文件夹中:
php_flag display_errors on
PHP _ flag display _ startup _ errors on
错误直接显示在页面上。
这非常适合快速调试,但不要长时间使用,因为这可能会违反安全性。
melomananswered 2020-01-06t 06336055336028 z
5 votes
以前,在两种情况下没有错误日志:
运行Apache的用户无权修改. htaccess文件。
. htaccess配置错误(例如,模块设置重写错误)导致错误500。 在这种情况下,错误将记录在Apache error_log文件中。
sgnsajgonanswered 2020-01-06t 06336055336057 z
3 votes
对于Symfony项目,请确保检查项目的APP应用程序/日志中的文件
这个帖子的详细内容如下。
如何在Symfony 2中调试500错误
顺便说一下,在其他框架和CMS中共享这种行为。
balmipouranswered 2020-01-06t 06336056336030 z
2 votes
这是看不到错误的另一个原因。
我遇到过同样的问题。 对于我来说,我从生产环境中复制了源。 因此,在index.php中定义的ENVIRONMENT变量将被设置为“production”。 这会将error_reporting设置为0 (无记录)。 只要将其设置为" development ",apache日志就会开始显示错误消息。
原始500在数据库配置中是冒号:-)
aswinkumaranswered 2020-01-06t 06336057:00 z
2 votes
发生在我身上的另一种情况是CURL处理了一些页面,出现了内部服务器错误。 即使启用了所有错误报告,apache日志中也没有任何内容。
我的问题是在我设置的CURL中输入curl_setopt($Cr,CURLOPT_FAILONERROR,true );
而且,这个错误没有显示出我的错误。 尽管发生了错误,但这不会显示在日志中,因为错误发生在框架级别而不是PHP级别。
Eric.itzhakanswered 2020-01-06t 06336057336029 z
0 votes
必须启用PHP错误日志。
这是因为发生php错误时,Web服务器发生了随机故障,导致了500个内部错误(存在同样的问题)。
查看PHP错误日志时,需要找到解决方案。
在文档中查看如何在php.ini中启用
Neal answered 2020-01-06t 06336058336004 z
0 votes
验证文件的权限是否正确。 如果apache没有读取文件的权限,则无法写入日志。
johnnyruinanswered 2020-01-06t 06336058336024 z
0 votes
如果还有500个错误且没有日志,请尝试从命令行运行。
php -f file.php
其工作方式与浏览器完全不同,但如果代码中存在语法错误,控制台将显示错误消息。
jcubicanswered 2020-01-06t 06336058336049 z
0 votes
我推测当我遇到问题时,发生的是该站点使用了大量内存,因此无法写入错误日志或显示错误。 为了清楚起见,这是Wordpress的网站。 如果提高服务器的内存限制,站点将再次显示。
John-Henry answered 2020-01-06t 06336059336010 z