Debian系统中PHP日志的主要记录内容及来源
Debian环境下,PHP日志记录的内容分散在PHP自身日志、PHP-FPM日志和Web服务器日志(Apache/Nginx)中,具体涵盖以下类型:
PHP通过php.ini配置文件记录自身运行时的错误,内容包括:
E_ERROR(致命错误,脚本终止)、E_WARNING(运行时警告,脚本继续)、E_PARSE(语法解析错误)、E_NOTICE(轻微提示,如未定义变量)、E_ALL(所有错误,默认级别)等;/var/www/html/index.php)、行号(如第45行);[2025-10-29 14:30:00 UTC])。error_log参数指定路径(默认写入系统日志syslog或/var/log/php_errors.log),需开启log_errors = On。若使用PHP-FPM(FastCGI进程管理器),其日志分为两类:
listen指令无效)、资源限制触发(如pm.max_children耗尽);/api/user)、响应状态码(200/500)、响应大小(如1024字节)。/var/log/php-fpm/目录下(如error.log、access.log),可通过php-fpm.conf或www.conf配置文件修改。Web服务器(Apache/Nginx)的日志会记录PHP请求的网络层信息,并与PHP错误日志形成关联:
error.log):记录PHP脚本执行错误(如语法错误、数据库连接失败)、Apache模块与PHP交互问题(如mod_php加载失败);access.log):使用combined格式记录客户端IP、请求时间、方法、URL、HTTP版本、响应状态码、Referer(来源页面)、User-Agent(浏览器信息)。error.log):记录PHP-FPM通信错误(如upstream timed out)、请求处理失败(如404 Not Found);access.log):使用main或combined格式记录类似Apache的请求信息,支持自定义字段(如请求耗时)。/var/log/apache2/(error.log、access.log),Nginx默认在/var/log/nginx/(error.log、access.log)。开发者可通过PHP内置函数(如error_log())或第三方库(如Monolog)记录业务逻辑日志,内容包括:
DEBUG(调试)、INFO(常规信息)、WARNING(警告)、ERROR(错误)等,便于后续过滤分析。/var/log/php_app.log),需手动配置权限(如chown www-data:www-data /var/log/php_app.log)。