Linux PHP在报告错误时崩溃

时间:2017-07-30 19:56:08

标签: php

基本上,只要PHP出现错误,我就会遇到问题;它根本不会加载.php文件。

例如,假设我在写作时犯了错​​误:

<?php 
       function foo($value) { return $value; };
       foo(); //missing value, should display a warning or error
?>

这不会显示错误,只会说“此页面无效”。

我检查了我的php.ini文件,但我在里面找到的内容似乎是合法的:

  

error_reporting = E_ALL&amp; ~E_DEPRECATED&amp; 〜E_STRICT

这个问题可能是什么原因?当然,如何解决呢?

1 个答案:

答案 0 :(得分:1)

您很可能正在查看错误的错误日志文件。

对于PHP,基本上有3个选项,具体取决于error_log中设置的php.ini。要确定正确的值,请添加包含内容<php phpinfo();的文件,然后在浏览器中将其打开。这应该显示所有php设置的列表。我推荐这种方法,而不是只打开php.ini,因为它避免了可能由多个php.ini和conf.d文件引起的混淆。

在该页面中,搜索error_log。此设置确定您的日志位置。如果未设置,则表示PHP正在登录到SAPI界面。查看您的Web服务器日志(位置取决于操作系统和使用的Web服务器,对于Ubuntu和Apache,它将是/var/log/apache2/error.log)。

如果error_log中有一个文件路径是PHP错误日志的路径。只需打开它就会出现错误。

如果error_log设置为syslog,PHP会记录到您的系统日志中。对于Windows,这是事件日志(可以通过从任务栏搜索&#34;事件日志&#34;来打开)。对于作为syslog的Unix,通常为/var/log/syslog,但可能会因配置和发行版而异。

请注意,如果您使用的是php-fpm,还有其他FPM日志设置,您还需要检查这些设置。