我运行了phpinfo()
,而 error_log 指令只是说error_log
。这指的是什么文件?即 error_log 的完整路径是什么?
答案 0 :(得分:8)
error_log string
脚本错误应该在的文件的名称 登录。该文件应该可由Web服务器的用户写入。如果 使用特殊值syslog,将错误发送到系统记录器 代替。在Unix上,这意味着syslog(3),在Windows NT上它意味着 事件簿。 Windows 95不支持系统记录器。另请参阅: syslog()函数。如果未设置此指令,则会将错误发送到SAPI 错误记录器。例如,它是Apache或stderr中的错误日志 CLI。
因此,当未设置该值(默认值)时,它将被发送到父错误记录器,即apache(如果通过它运行)或stderr
如果您在命令上运行脚本线。
如果您通过apache使用脚本,则必须查看apache错误日志,通常在/var/log/apache
或/var/log/httpd
,具体取决于您的发行版。您可以在apache配置文件中查看确切位置。
修改强>
我刚注意到我误解了您的问题,我猜您的意思是error_log
具有实际值error_log
?
我刚做了一些测试。当我将error_log
设置为类似php_errors.log
的值时,PHP仍会将错误消息写入apache错误日志。它的行为就好像值为空。当我将值设置为完整路径(例如/tmp/php_errors.log
)时,它会将错误写入指定的文件。
所以我想在你的情况下它会将错误写入apache错误日志文件。
当然,您可以设置自己的日志文件添加
ini_set("error_log", "/tmp/php_errors.log");
到你需要它的PHP文件(如果它没有被管理员禁用)。
答案 1 :(得分:1)
当值只是error_log
(或error_log = error_log
文件中的php.ini
)时,这意味着错误将被写入同一目录中名为error_log
的文件中发生错误。
因此,如果您在 / home / user / public_html / 中有一个名为index.php
的文件会引发错误,则会将错误写入: / home / user /的public_html / error_log中
如果您在 / home / user / public_html / admin / images / 中有一个名为resize.php
的文件会引发错误,那么错误将写入: / home /用户/的public_html /管理/图像/ error_log中
答案 2 :(得分:0)
在Windows 10上,IIS 10.0.18362.1,
我设置为php\php.ini
:
error_log = "C:\tmp\php_errors.log"
或
error_log = C:\tmp\php_errors.log
或
error_log = \tmp\php_errors.log
phpinfo()显示:
error_log C:\ tmp \ php_errors.log或\ tmp \ php_errors.log
有时直接,但总是在iisreset
之后(回收应用程序池)。
即保存文件的位置。
没有填充error_log = php_errors.log
,它将被写入发生错误的位置。已经提到过。
答案 3 :(得分:-1)
打开php.ini文件 检查error_log
的路径