Debian系统下PHP日志文件的位置主要取决于Web服务器类型(Apache/Nginx)及PHP运行模式(如PHP-FPM),以下是常见场景的具体路径及查看方法:
若使用Apache的mod_php模块运行PHP,错误日志通常整合在Apache的全局错误日志中,路径为:
/var/log/apache2/error.log
可通过以下命令实时查看最新日志:
sudo tail -f /var/log/apache2/error.log
若使用Nginx作为Web服务器并通过PHP-FPM处理PHP请求,PHP错误日志默认由PHP-FPM管理,路径为:
/var/log/php-fpm.log
或带有PHP版本号的文件(如/var/log/php7.4-fpm.log,具体版本以实际安装为准):
/var/log/php7.x-fpm.log
实时查看命令:
sudo tail -f /var/log/php-fpm.log
若PHP-FPM采用自定义配置(如修改了error_log参数),需检查PHP-FPM的池配置文件(通常位于/etc/php/{version}/fpm/pool.d/www.conf),其中error_log指令会明确指定日志路径。例如:
error_log = /var/log/php-fpm/custom.log
修改后需重启PHP-FPM服务使配置生效:
sudo systemctl restart php7.x-fpm
若需将PHP错误记录到指定文件(而非默认位置),可在PHP脚本中添加以下代码(推荐放在脚本开头):
ini_set('display_errors', 0); // 关闭浏览器显示错误
ini_set('log_errors', 1); // 启用日志记录
ini_set('error_log', '/path/to/custom_error.log'); // 自定义日志路径
替换/path/to/custom_error.log为实际路径(如/var/log/php_custom.log),并确保目标目录有写入权限(sudo chown www-data:www-data /var/log/php_custom.log)。
/var/log/apache2/error.log)需管理员权限(使用sudo)。logrotate工具定期轮转日志(如/etc/logrotate.d/apache2、/etc/logrotate.d/php-fpm),可自定义轮转策略(保留天数、压缩等)。7.x需替换为实际安装的PHP版本(可通过php -v命令查看)。