基本上,只要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
这个问题可能是什么原因?当然,如何解决呢?
答案 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日志设置,您还需要检查这些设置。