在Ubuntu上配置PHP日志级别
想在Ubuntu系统里精准控制PHP的错误日志输出吗?关键在于正确编辑php.ini配置文件。下面这个流程,能帮你快速搞定。

-
首先,打开你的终端。
-
第一步,得先找到
php.ini文件藏在哪里。执行下面这个命令就能一目了然:php --ini命令会显示出PHP配置文件的路径。通常,它会在
/etc/php/{版本号}/cli/php.ini(对应命令行环境)或者/etc/php/{版本号}/fpm/php.ini(对应PHP-FPM环境)。这里的
{版本号}需要替换成你实际使用的PHP版本,比如7.4。 -
找到文件后,用你顺手的文本编辑器打开它。以nano为例,运行:
sudo nano /etc/php/{版本号}/cli/php.ini如果你配置的是PHP-FPM,那么对应的命令是:
sudo nano /etc/php/{版本号}/fpm/php.ini -
在打开的
php.ini文件中,定位到这几行核心配置:error_reporting = E_ALL log_errors = On error_log = /var/log/php_errors.log简单来说:
error_reporting决定了PHP该报告哪些类型的错误,E_ALL意味着“全部都要”。
log_errors设为On,是打开错误日志记录功能的开关。
error_log则指定了错误日志文件的具体存放路径。 -
要调整日志级别,重点就是修改
error_reporting指令。这里有几个常用的级别选项:E_ALL:所有错误和警告,一个不漏。E_ERROR:只关注致命的运行时错误。E_WARNING:报告非致命的运行时警告。E_PARSE:编译时的语法解析错误。E_NOTICE:报告一些运行时提示,可能意味着代码有优化空间。
举个例子,如果你只想记录错误和警告,可以这样设置:
error_reporting = E_ERROR | E_WARNING -
修改完毕后,保存并关闭
php.ini文件。 -
最后一步,重启相关的服务让配置生效。这取决于你的Web服务器:
对于Apache,运行:sudo systemctl restart apache2对于Nginx配合PHP-FPM的常见组合,则需要重启两个服务:
sudo systemctl restart php{版本号}-fpm sudo systemctl restart nginx同样,别忘了把
{版本号}换成实际的PHP版本号,比如7.4。
完成以上步骤后,PHP就会严格按照你在php.ini中设定的日志级别来记录错误信息了。这样一来,日志文件里就都是你真正关心的内容,排查问题自然更高效。
