温馨提示×

centos php日志如何导出

小樊
46
2026-09-06 06:21:39
栏目: 编程语言

在 CentOS 上导出 PHP 日志,方法和日志位置、**运行方式(PHP-FPM / Apache / CLI)**有关。下面按常见场景说明。


一、先确认 PHP 日志在哪里

1. PHP-FPM(最常见,Nginx + PHP)

PHP-FPM 错误日志通常在:

/var/log/php-fpm/error.log

或按池配置:

/etc/php-fpm.d/www.conf

示例:

php_admin_value[error_log] = /var/log/php-fpm/www-error.log

2. Apache + mod_php

一般在 Apache 错误日志中:

/var/log/httpd/error_log

3. PHP 自身 error_log

php.ini 中:

error_log = /var/log/php/php_errors.log

查看路径:

php -i | grep error_log

二、导出 PHP 日志的方法

✅ 方法 1:直接复制日志文件(最简单)

cp /var/log/php-fpm/error.log /root/php-error.log

或打包:

tar -czf php-logs.tar.gz /var/log/php-fpm/

✅ 方法 2:导出指定时间段的日志

例如导出最近 100 行:

tail -n 100 /var/log/php-fpm/error.log > php-error-last100.log

导出某一天:

grep "2026-01-21" /var/log/php-fpm/error.log > php-2026-01-21.log

✅ 方法 3:导出 CLI 模式 PHP 日志

CLI 一般没有独立日志,输出到终端或系统日志:

php test.php 2> php-cli-error.log

✅ 方法 4:导出到远程服务器(如运维需要)

scp /var/log/php-fpm/error.log user@backup-server:/logs/

或用 rsync:

rsync -avz /var/log/php-fpm/ user@backup:/php-logs/

三、日志被 logrotate 切割的情况

CentOS 默认会切割日志:

ls /var/log/php-fpm/

可能看到:

error.log
error.log-20260121

导出历史日志:

cp /var/log/php-fpm/error.log-* /backup/

四、常见排错

如果找不到日志:

php-fpm -i | grep error_log

或:

journalctl -u php-fpm

五、示例:一次性导出完整 PHP 日志包

mkdir /tmp/php-log-export
cp /var/log/php-fpm/* /tmp/php-log-export/
php -i > /tmp/php-log-export/phpinfo.txt
tar -czf php-log-export.tar.gz /tmp/php-log-export

如果你能告诉我:

  • 用的是 Nginx 还是 Apache
  • PHP-FPM 还是 CLI
  • 日志路径是否已确定

我可以给你精确的一条命令

0