在 Ubuntu 上导出 PHP 日志,通常取决于你使用的是 PHP-FPM 还是 Apache + mod_php,以及日志是写到文件还是系统日志(syslog/journald)。下面按常见情况说明。
php --ini
然后查看对应 php.ini:
grep -E "error_log|log_errors" /etc/php/*/fpm/php.ini
常见配置:
log_errors = On
error_log = /var/log/php/php-error.log
PHP-FPM 日志通常在:
/var/log/php*/fpm.log
/var/log/php*/php-error.log
导出日志:
cp /var/log/php/php-error.log /home/youruser/php-error.log
或打包:
tar -czf php-logs.tar.gz /var/log/php/
Apache 错误日志一般包含 PHP 错误:
/var/log/apache2/error.log
导出:
cp /var/log/apache2/error.log ~/apache-php-error.log
只看 PHP 相关:
grep PHP /var/log/apache2/error.log > php-errors.log
Nginx 日志:
/var/log/nginx/error.log
PHP 错误一般在 php-fpm 日志或 error_log 指定的文件。
如果是 PHP-FPM:
journalctl -u php*-fpm > php-fpm.log
带时间范围:
journalctl -u php8.1-fpm --since "2024-01-01" --until "2024-01-31" > php.log
sed -n '/2024-06-01/,/2024-06-30/p' /var/log/php/php-error.log > php-june.log
如果提示权限不足:
sudo cp /var/log/php/php-error.log ~/
| 环境 | 日志路径 |
|---|---|
| PHP-FPM | /var/log/php/ |
| Apache | /var/log/apache2/ |
| Nginx | /var/log/nginx/ |
| systemd | journalctl |
如果你能告诉我:
我可以给你精确的一条命令。