2014-11-25 74 views

回答

3

是,PHP内建了错误日志功能。

PHP将错误自动记录到此文件。

如果你想记录错误,使用功能error_log()

取决于环境的文件位置的变更。

例如

在Ubuntu 12.04,其

var/log/php_errors.log

在XAMPP窗口,

\xampp\php\logs\php_errors.log

在Mac OS,

/var/log/apache2/php_errors.log

+0

我忘了提及我正在使用mac os – 2014-11-25 09:00:20

+0

回答更新,请现在检查。 – Pupil 2014-11-25 09:01:45

+0

Downvoters,您的downvoting是最受欢迎的。我很高兴我的答案需要改进/更正。但是,请发表评论关于我的错误。你是我真正的老师。 – Pupil 2016-02-26 06:34:28

11

内置-in webserver默认情况下不会在任何地方登录,所以你需要提供一个php.ini来定制它。例如,如果你创建了一个名为与此内容php.ini文件:

error_log = /Users/me/test.log 
date.timezone = UTC 

然后就可以开始PHP的内置Web服务器这样的:

php -S 127.0.0.1:8080 -c php.ini 

而error_log中()调用将被记录到您指定的文件。

+0

这很有帮助,但我需要在ini文件中另外添加'log_errors = On'。 – Progrock 2017-11-29 18:46:39

+0

此外,我尝试在错误日志的php.ini中的相对路径。当内置的服务器使用-t目录标志时,路径相对于那里,而不是php.ini。 – Progrock 2017-11-29 18:48:03

1

在macOS上使用PHP内置服务器时,需要在php.ini配置文件(php -i | grep php.ini)中指定error_log

如果用syslog决定(而不是一个日志文件),例如:

error_log = syslog 

然后转储日志,你可以在Mac OS,例如使用log命令

log stream --predicate 'processImagePath contains "php"' 

否则,使用一些特定的文件路径错误日志(例如/usr/local/var/log/php-error.log)。