发布于2026-06-29 阅读(0)
扫一扫,手机访问
在 Debian 环境下用 PHP 记录日志,其实就那么几条路——内置日志系统、自定义error_log函数、第三方日志库 Monolog,再加上 Web 服务器本身的日志。下面一个个拆开说,手把手活着来。

先说 PHP 自带的日志机制。打开 php.ini,把下面几行配好就行:
; 打开错误日志
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log
不知道 php.ini 在哪?终端敲 php --ini 就看到了。改完后记得重启一下 Web 服务器(Apache 或 Nginx),新配置才会生效。
如果你想在代码里专门记点什么自定义消息,直接用 error_log 函数:
error_log("This is a custom log message", 3, "/var/log/custom_logs.log");
第二个参数 3 表示把消息写到指定文件里。简单粗暴。
如果项目对日志功能要求比较高,比如要分级别、分文件、写数据库,那可以考虑 Monolog。这是 PHP 社区用得最多的日志库,通过 Composer 一键安装:
composer require monolog/monolog
然后在代码里这样用:
use MonologLogger;
use MonologHandlerStreamHandler;
// 创建一个日志通道
$log = new Logger('name');
$log->pushHandler(new StreamHandler('/var/log/monolog.log', Logger::DEBUG));
// 添加日志条目
$log->info('Hello, world!');
Monolog 的灵活性体现在可以叠加多个 Handler,比如同时写文件、发邮件、推送到远程服务,非常方便。
最后,别忘了 Web 服务器自己也有日志系统。绝大多数线上问题排查,最后都会翻到 Apache 或 Nginx 的日志里。
Apache 的默认错误日志在 /var/log/apache2/error.log,访问日志在 /var/log/apache2/access.log。如果想自定义,编辑虚拟主机配置文件:
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Nginx 的配置类似,默认日志在 /var/log/nginx/:
error_log /var/log/nginx/error.log debug;
access_log /var/log/nginx/access.log;
总而言之,在 Debian 上做 PHP 日志记录,从最轻量的内置日志到功能丰富的 Monolog,再到 Web 服务器的辅助日志,基本能覆盖所有需求。选哪条路,看项目大小和你的维护习惯——小脚本直接 error_log,中大型项目果断上 Monolog,至于服务器日志,从一开始就养成习惯去翻,能省掉不少无头苍蝇式的调试时间。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8