Ubuntu中PHP日志的位置取决于Web服务器类型(Apache/Nginx)和PHP处理方式(PHP-FPM)。常见默认路径如下:
/var/log/apache2/error.log(包含PHP错误及Apache请求日志);/var/log/nginx/error.log(包含PHP错误转发记录);/var/log/php-fpm.log或/var/log/php7.x-fpm.log(7.x为具体PHP版本,如7.4、8.1);php.ini修改过日志路径,需优先检查自定义位置。tail -f命令是实时查看日志更新的常用工具,适用于所有日志文件:
# 查看Apache PHP错误日志(实时)
sudo tail -f /var/log/apache2/error.log
# 查看Nginx主错误日志(实时)
sudo tail -f /var/log/nginx/error.log
# 查看PHP-FPM错误日志(实时,替换7.x为实际版本)
sudo tail -f /var/log/php7.x-fpm.log
grep命令可筛选特定时间段或关键词的日志(如2025-09-29的ERROR日志):
# 筛选Apache日志中的ERROR信息(2025-09-29)
sudo grep '2025-09-29.*ERROR' /var/log/apache2/error.log
# 筛选PHP-FPM日志中的WARNING信息
sudo grep 'WARNING' /var/log/php7.x-fpm.log
若需查看日志的完整内容(而非实时更新),可使用文本编辑器(需sudo提升权限):
# 用Vim查看Apache错误日志
sudo vim /var/log/apache2/error.log
# 用Nano查看PHP-FPM错误日志
sudo nano /var/log/php7.x-fpm.log
注意:日志文件可能较大,建议使用less命令分页查看(sudo less /var/log/php7.x-fpm.log),按q退出。
若PHP脚本中通过error_log()函数设置了自定义日志路径(如error_log("Error message", 3, "/var/log/custom_php.log")),需直接查看自定义路径:
# 查看自定义日志文件(替换为实际路径)
sudo tail -f /var/log/custom_php.log
sudo apt install logwatch
sudo logwatch --service=apache2 # 查看Apache日志报告
access.log),生成HTML报告:sudo apt install goaccess
sudo goaccess /var/log/apache2/access.log -o /var/www/html/report.html # 生成报告
打开浏览器访问http://服务器IP/report.html即可查看可视化报告。www-data用户(Web服务器进程用户),普通用户需用sudo读取;logrotate管理日志大小(如/etc/logrotate.d/apache2),避免日志占满磁盘;php.ini、www.conf)中的error_log设置是否正确。