在 Ubuntu 上导出 PHP 日志,主要取决于 PHP 的运行方式(Apache / Nginx + PHP-FPM / CLI) 以及 日志配置位置。下面按常见场景说明。
php --ini
通常配置文件在:
/etc/php/7.x/cli/php.ini/etc/php/7.x/apache2/php.ini/etc/php/7.x/fpm/php.ini查看日志相关配置:
grep -E "log_errors|error_log" /etc/php/*/*/php.ini
常见配置:
log_errors = On
error_log = /var/log/php/php_errors.log
Apache 错误日志通常包含 PHP 错误:
# Apache 错误日志
tail -n 100 /var/log/apache2/error.log
# 导出日志
cp /var/log/apache2/error.log ~/apache_php_log.log
如果 PHP 单独配置了 error_log,直接复制该文件即可。
PHP-FPM 有自己的日志:
# PHP-FPM 错误日志
tail -n 100 /var/log/php*/fpm.log
# 或具体版本
/var/log/php/7.4/fpm.log
导出:
cp /var/log/php/7.4/fpm.log ~/php_fpm_log.log
Nginx 自身错误日志(也可能包含 PHP 报错):
tail -n 100 /var/log/nginx/error.log
CLI 模式通常使用:
/etc/php/7.x/cli/php.ini
查看:
php -i | grep error_log
导出:
cp /var/log/php/php_cli_errors.log ~/php_cli_log.log
tail -f /var/log/php/php_errors.log > ~/php_log_export.txt
grep "$(date +%Y-%m-%d)" /var/log/php/php_errors.log > today_php.log
编辑 php.ini:
log_errors = On
error_log = /var/log/php/php_errors.log
创建目录并授权:
sudo mkdir -p /var/log/php
sudo touch /var/log/php/php_errors.log
sudo chown www-data:www-data /var/log/php/php_errors.log
重启服务:
# Apache
sudo systemctl restart apache2
# Nginx + PHP-FPM
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
sudo lsof | grep error_log
或
journalctl -u php*-fpm
如果你能告诉我:
我可以给你精确命令。