我不断得到
HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request.
每当我的 php 代码出现问题时。我正在使用安装了 apache2 和 php 的 ubuntu 11.04。
答案1
如果你想要调试你的 php 代码,你需要运行tail -f /var/log/apache2/error.log
这个,它将包含有关为什么触发了 500 错误。
以下是我最近抛出 500 错误的错误日志中的一个例子
[2011 年 9 月 11 日星期日 22:54:16] [错误] [客户端 127.0.0.1] PHP 致命错误:在 /home/marco/Projects/Ondina/cp/apps/domains/databases.d.php 第 170 行中对非对象调用成员函数 sql_query()
这会显示引发错误的文件源、行数和确切的错误消息。通过这三个变量,您应该能够找到并修复代码中的任何问题。
答案2
您可以在 php.ini 文件 ( /etc/php5/apache2/php.ini ) 中启用display_errors
和禁用此功能log_errors
。但请注意,对于实时站点,记录错误比在网页上显示错误要好得多,因为这样的错误可能包含您不想泄露的信息。