我有一个Apach Http服务器,它的一个虚拟主机出现500错误,开始失败。 我直接去了日志,触发了问题,结果是访问日志中的一个正常的条目,并没有提到错误日志。
这是运行PHP,所以我运行
php index.php
在应用程序的目录,它运行得很好。 这不是一个PHP的问题,或者说,这是不可能的。
我设置LogLevel进行debugging,我在错误日志中看到的只是这个:
[Sat Jul 04 08:41:10 2009] [error] [client 84.72.21.12] File does not exist: /var/www/example.com/public/favicon.ico, referer: http://example.com/
并在访问日志中:
84.72.21.12 - - [04/Jul/2009:08:40:29 -0400] "GET / HTTP/1.1" 500 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.18 (KHTML, like Gecko) Version/4.0.1 Safari/530.18" 84.72.21.12 - - [04/Jul/2009:08:40:29 -0400] "GET /favicon.ico HTTP/1.1" 404 361 "http://example.com/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.18 (KHTML, like Gecko) Version/4.0.1 Safari/530.18"
任何想法还有什么其他的尝试?
确保文件夹path中没有.htaccess文件,直到php文件。 那就是如果path是/var/www/html/a/b/test.php。 确保/ var / www / html,/ var / www / html / a,/ var / www / html / a / b文件夹中没有.htacces文件。 如果有.htaccess文件,则将其重命名为其他内容,然后重试。
大多数时候,由于不好的.htaccess文件,我得到了500个错误,从那以后就不显示简单的'ls',很难理解它们是问题的根源。
这是一个PHP错误。 启用PHP错误的显示表明,当我手动运行脚本时没有看到它的原因是因为我以root身份运行它,并且错误是缺less在目录中写入临时数据的权限。
你是通过libapache2-mod-php(mod_php)还是通过FastCGI之类的东西来调用PHP? 请让我们知道你已经安装的版本,你的分布,检查文件/目录的权限,并尝试;
tail -f /var/log/apache2/access.log /var/log/apache2/error.log
或者改变以适应你的日志是否在不同的位置。 然后尝试使用浏览器访问该网站,也可以将“test.php”与“
<?php phpinfo(); ?>
它是否正确显示页面?