温馨提示×

ubuntu php-fpm如何日志

小樊
41
2026-10-07 07:34:01
栏目: 编程语言

在 Ubuntu 下,php-fpm 的日志主要分为两类:

  1. 错误日志(error log)
  2. 慢日志(slow log,可选)
  3. PHP 脚本自身的日志(error_log / echo 等)

下面按常见场景说明。


一、php-fpm 错误日志位置

1. 查找 php-fpm 配置文件

php -v
# 例如 PHP 8.1

ls /etc/php/

常见路径:

/etc/php/8.1/fpm/

主配置:

/etc/php/8.1/fpm/php-fpm.conf

池配置(最重要):

/etc/php/8.1/fpm/pool.d/www.conf

2. 错误日志配置(www.conf)

编辑:

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

关键配置:

catch_workers_output = yes
php_admin_value[error_log] = /var/log/php8.1-fpm.log
php_admin_flag[log_errors] = on

或全局:

error_log = /var/log/php8.1-fpm.log

重启 php-fpm:

sudo systemctl restart php8.1-fpm

查看日志:

sudo tail -f /var/log/php8.1-fpm.log

二、PHP 脚本错误日志(推荐)

php.ini 配置

sudo nano /etc/php/8.1/fpm/php.ini
log_errors = On
error_log = /var/log/php_errors.log

创建日志文件:

sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log

重启:

sudo systemctl restart php8.1-fpm

三、慢日志(slow log)

用于排查 PHP 执行慢的问题。

在 www.conf 中:

request_slowlog_timeout = 5s
slowlog = /var/log/php8.1-fpm-slow.log

重启:

sudo systemctl restart php8.1-fpm

查看:

sudo tail -f /var/log/php8.1-fpm-slow.log

四、Nginx + php-fpm 常见日志位置

Nginx 错误日志

/var/log/nginx/error.log

Nginx 访问日志

/var/log/nginx/access.log

五、常见问题排查

1. 看不到 PHP 错误?

  • 确认 display_errors = Off(生产环境)
  • 确认 log_errors = On
  • 确认 error_log 路径可写

2. 权限问题

sudo chown -R www-data:www-data /var/log/php*

六、快速总结

# 查看 php-fpm 状态
systemctl status php8.1-fpm

# 实时看日志
tail -f /var/log/php8.1-fpm.log
tail -f /var/log/php_errors.log

如果你愿意,可以告诉我:

  • PHP 版本(7.4 / 8.1 / 8.2?)
  • 用的是 Nginx 还是 Apache
  • 想解决的具体问题(白屏 / 500 / 慢)

我可以给你更精确的配置。

0 踩