2017-05-30 140 views
2

当我得到一个PHP错误时,它出现了一个500内部服务器错误页面。我希望它显示致命的错误。我花了几天的时间试图让它显示正确的错误。这是我到目前为止所尝试的:PHP错误报告:Wordpress

1)按照此处所述编辑wp-config.php文件:https://help.massivedynamic.co/hc/en-us/articles/115000572108-How-to-enable-WordPress-error-reporting。我尝试了显示错误和创建日志的选项。

2)访问Plesk并根据https://support.managed.com/kb/a1937/how-to-enable-php-error-logging-in-plesk-11.aspx进行更改。这似乎将user.ini文件更改为:[PHP] display_errors=on error_log="d:\Plesk\VHOSTS\[MYDOMAIN]\php.log.resources" log_errors=on。我也尝试过在这里手动更改目录,但无济于事。

3)在页面的标题中添加各种各样的代码。 error_reporting(E_ALL); ini_set('display_errors', 'on'); echo "aaa"; ob_flush();是其中之一。

任何人都可以提出什么我可以尝试?

谢谢。

+2

500不是一个PHP的错误,其服务器错误。看看你的.htaccess,它可能有一个错误。 – Jelmergu

+1

500错误表示您的代码出现错误,请仔细阅读代码,然后将wp debug打开为true。它会在页面中显示错误和警告 – Exprator

+0

@ Jelmergu只有当我更改php文件时才会出现此错误。我没有一个htaccess文件。 – Atrag

回答

-1

在wordpress根目录中搜索error_log文件。根据您的设置,它在那里,或者在您的wamp stack日志文件夹中。 就像已经评论过的,500不是一个PHP错误,而是一个服务器错误,所以你不能用PHP打印出来。

+0

谢谢。也许我完全误解了它。我注意到它发生在php中有语法错误时。是不是可以调试这种类型的错误? – Atrag

+0

这是完全错误的。在发生语法错误或其他问题时,php可能会引发500运行时错误。如果有错误报告,可以告诉你问题是什么。 – DevDonkey

1

500代码错误或服务器系统错误。

可以几件事情可以做,以调试:

  • 请确保您有完整的错误在你的php.ini报告(或在脚本的顶部)
  • 尽量的简单一点代码来确保它不是服务器抛出错误。
  • 使用xdebug单步执行代码,直到找到其失败的地方。然后使用try/catch来试图找出错误实际是什么。
  • 查看服务器日志,如果您有权访问它们。
  • 为您正在使用的代码部分编写适当的单元测试(您会写测试是?)。通常,它更容易隔离单元测试的问题,而不是代码是更大的应用程序的一部分。
  • 使用echo's和var_dumps尝试查看代码正在翻转的位置。

完整的错误报告。

error_reporting(E_ALL); 
+0

谢谢。也许我高估了什么调试信息可以检索?例如,我有一个imagejpeg($ thumb,$ imageDirectory,20)的问题;这种情况下500内部错误。我想知道为什么,例如这是图像还是保存到服务器的问题。 – Atrag

+0

欢迎来到调试的世界:) – DevDonkey

+0

哈哈所以没有办法得到任何信息,为什么失败?或者甚至在代码中标明该行? – Atrag

0

您可以通过访问Apache的错误日志文件为您的虚拟主机查看错误:如果你没有访问php.ini中把这个在你的脚本的顶部。

如果你的虚拟主机称为example.com,则错误日志文件应该位于/var/www/vhosts/example.com/logs/error.log