php控制台脚本错误输出到php_errors.log
问题描述
今天学习php函数的时候,发现错误没有输出到php_errors.log,遂有此文。
解决过程
先检查php.ini文件,需要有一下配置
log_errors = On
error_log =/apps/logs/php_errors.log # 可自定义的位置
需要找到php.ini文件位置(没有的话,在输出的配置文件的位置复制一个php.ini.default)
php --ini
由于只是cli程序,修改配置文件后不需要重启什么,直接生效。(如果是web程序,需要重启php-fpm;如果web程序使用的是Apache,就重启Apache)
在代码中直接向日志文件中写入错误信息来测试
error_log('test');
还是没写进去(连文件都没有生成),然后自己手动新建一个文件,并给与写权限
sudo touch /apps/logs/php_errors.log
sudo chmod 664 /apps/logs/php_errors.log
再次执行代码,日志写入成功。
可能原因 - 运行权限问题
请检查 运行PHP CLI的用户帐户是否有对php_errors.log的写入权限。