PHP 日志文件的位置取决于你的运行环境(PHP-FPM、Apache、Nginx、CLI)和操作系统。下面按常见情况给你一个速查表。
| 环境 | 日志位置 |
|---|---|
| Linux + PHP-FPM | /var/log/php-fpm.log 或 /var/log/php-fpm/www-error.log |
| Linux + Apache | /var/log/apache2/error.log(Ubuntu)/var/log/httpd/error_log(CentOS) |
| Linux + Nginx | /var/log/nginx/error.log |
| Windows + PHP | C:\xampp\php\logs\php_error_log(XAMPP)C:\wamp\logs\php_error.log(WAMP) |
| PHP CLI | 通常无日志,输出到终端 |
php.ini 查看真实位置(最准确 ✅)php --ini
或
<?php
phpinfo();
在 php.ini 中关注这几个参数:
error_log = /var/log/php/error.log
log_errors = On
display_errors = Off
✅ error_log 就是 PHP 错误日志的真实路径
/var/log/php-fpm.log
或
/var/log/php-fpm/www-error.log
slowlog = /var/log/php-fpm/www-slow.log
request_slowlog_timeout = 5s
# Ubuntu / Debian
/var/log/apache2/error.log
# CentOS / RHEL
/var/log/httpd/error_log
/var/log/nginx/error.log
⚠️ PHP 报错通常会写进 Web 服务器 error.log
tail -f /var/log/php-fpm/www-error.log
tail -f /var/log/nginx/error.log
docker logs 容器名
或:
docker exec -it 容器名 cat /var/log/php-fpm.log
log_errors = Onerror_log 路径存在且可写<?php
trigger_error("test error");
你可以直接告诉我:
我可以一步一步帮你找到 100% 正确的日志路径。