
在 Plesk + Ubuntu 20.04 的 Linux 环境中,PHP 错误日志默认不生成于网站根目录下的 log/php_errors/ 路径,而是统一存放在 Plesk 管理的系统级日志目录中,需正确配置并知晓其实际路径才能有效排查错误。
在 plesk + ubuntu 20.04 的 linux 环境中,php 错误日志默认不生成于网站根目录下的 `log/php_errors/` 路径,而是统一存放在 plesk 管理的系统级日志目录中,需正确配置并知晓其实际路径才能有效排查错误。
在 Plesk 管理的 Linux 服务器(如 Ubuntu 20.04)上,PHP 错误日志的行为与 Windows 版 Plesk 存在显著差异:Plesk 不会自动创建或使用 log/php_errors/websitename/php_error.log 这类自定义结构路径。即使 php.ini 中已启用 log_errors = On,日志也不会按旧习惯写入网站目录内,而由 Plesk 统一接管并路由至其标准化日志体系。
✅ 正确的日志存储路径有两个主要位置(按优先级推荐排查):
-
主站点日志目录(最常见)
/var/www/vhosts/example.com/logs/
对应文件通常为:
- php_error.log(Apache 模式下由 error_log 指令指定)
- 或 error_log(Nginx + PHP-FPM 模式下更常见,内容含 PHP 错误)
-
系统托管域日志目录(当主目录无日志时请检查)
/var/www/vhosts/system/example.com/logs/
此路径专用于 Plesk 系统级服务(如 DNS、邮件代理等),但部分 PHP-FPM 配置异常时,错误日志也可能暂存于此。
? 验证与调试建议:
-
✅ 确认 PHP 实际加载的 php.ini 文件:
在 Plesk 中进入 Tools & Settings > PHP Settings,或执行:plesk bin php_settings --list # 或通过探针脚本 echo "<?php phpinfo(); ?>" > /var/www/vhosts/example.com/httpdocs/info.php
检查 Loaded Configuration File 和 error_log 行值——若 error_log 显式设为 /dev/null 或为空,则日志将被丢弃。
-
✅ 强制指定日志路径(推荐做法):
在 Plesk 域设置中,进入 Websites & Domains > example.com > PHP Settings,在「Additional configuration directives」中添加:log_errors = On error_log = /var/www/vhosts/example.com/logs/php_error.log
保存后重启 PHP 服务(Plesk 自动触发),即可确保日志稳定落盘。
⚠️ 注意事项:
- 修改 php.ini 全局配置(如 /opt/plesk/php/*/etc/php.ini)不生效:Plesk 为每个域名/PHP 版本维护独立配置,必须通过 Plesk UI 或 CLI(plesk bin domain --update example.com -php-ini)应用。
- 日志文件需具备写权限:确保 www-data(Debian/Ubuntu 默认 Web 用户)对 logs/ 目录有写入权限:
sudo chown -R www-data:psaserv /var/www/vhosts/example.com/logs/ sudo chmod 755 /var/www/vhosts/example.com/logs/
- 若仍无日志,请检查是否启用了 display_errors = Off(生产环境推荐),避免错误直接输出到页面而掩盖日志行为;同时验证 error_reporting 级别(例如 E_ALL & ~E_NOTICE)是否覆盖当前错误类型。
? 总结:Plesk 的 Linux 架构采用集中化日志管理模型,放弃 Windows 风格的嵌套路径逻辑。掌握 /var/www/vhosts/
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











