登录
首页 >  文章 >  php教程

PHP Plesk错误日志位置及配置方法

时间:2026-04-03 21:48:31 234浏览 收藏

本文详解了在 Plesk + Ubuntu 20.04 环境下 PHP 错误日志的真实存放位置与可靠配置方法,打破“日志默认在网站根目录 log/php_errors/”的常见误解——实际路径为 `/var/www/vhosts/example.com/logs/php_error.log` 或系统级对应目录;强调仅开启 `log_errors = On` 远不足够,必须显式设置 `error_log` 指向绝对路径、确保 PHP-FPM 进程用户(如 psaadm)具备目录写权限,并通过 Plesk 控制台或命令行验证生效,让开发者告别日志“查无踪迹”的困扰,实现精准、稳定、可追溯的错误监控。

PHP Plesk 环境下 PHP 错误日志路径与配置详解

在 Plesk + Ubuntu 20.04 的 Linux 环境中,PHP 错误日志默认不生成于网站根目录下的 log/php_errors/,而是统一存放于 /var/www/vhosts//logs/ 或系统级路径 /var/www/vhosts/system//logs/,需确认 log_errors = On 且 error_log 指向正确位置。

在 Plesk + Ubuntu 20.04 的 Linux 环境中,PHP 错误日志默认不生成于网站根目录下的 `log/php_errors/`,而是统一存放于 `/var/www/vhosts//logs/` 或系统级路径 `/var/www/vhosts/system//logs/`,需确认 `log_errors = On` 且 `error_log` 指向正确位置。

Plesk 对 PHP 日志的管理遵循其自身的目录结构规范,与 Windows 版本(如旧服务器中使用的 log/php_errors/websitename/php_error.log)存在显著差异。Linux 下 Plesk 不会自动创建或写入网站子目录内的自定义错误日志路径,即使 php.ini 中已启用 log_errors = On,若未显式指定 error_log 指令,PHP 将回退至 Apache/Nginx 的全局错误日志,或由 Plesk 的 PHP 处理器(如 PHP-FPM)接管并写入其预设位置。

✅ 正确的日志路径如下(以域名为 example.com 为例):

  • 主站点日志目录(推荐检查)

    /var/www/vhosts/example.com/logs/

    其中常见日志文件包括:

    • php_error.log(PHP 解析错误、警告、Notice 等)
    • domain_name.error.log(Web 服务器级错误,可能包含 PHP 致命错误的上下文)
  • 系统托管站点日志目录(适用于 Plesk 管理的附加服务或子域名)

    /var/www/vhosts/system/example.com/logs/

⚠️ 注意事项:

  • 日志文件并非实时创建:PHP 首次触发错误后才会生成 php_error.log;若该文件不存在,说明暂无错误或日志未被正确路由。

  • php.ini 中仅设 log_errors = On 不足——必须明确设置 error_log 路径,否则 PHP 可能将错误输出到 SAPI(如 stdout),而被 Web 服务器丢弃。建议在 Plesk 中为每个域名单独配置:

    Plesk 控制台 → 域名 → PHP 设置 → 自定义 php.ini 指令
    添加:

    error_log = "/var/www/vhosts/example.com/logs/php_error.log"

    ✅ 此方式确保路径绝对、权限可控,且绕过全局 php.ini 的不确定性。

  • 权限与所有权至关重要:日志目录需对 PHP-FPM 进程用户(通常是 psaadm 或 www-data)具有写权限:

    sudo chown psaadm:psaadm /var/www/vhosts/example.com/logs/
    sudo chmod 755 /var/www/vhosts/example.com/logs/

    修改后重启 PHP 服务:sudo plesk bin php_handler --reread。

? 验证是否生效:
在网站根目录放置测试脚本 test-error.php:

<?php
error_reporting(E_ALL);
log_errors = On;
trigger_error("This is a test PHP warning.", E_USER_WARNING);
// 或强制致命错误(谨慎使用):
// require_once '/nonexistent.php';
?>

访问该脚本后,执行:

tail -f /var/www/vhosts/example.com/logs/php_error.log

应立即看到对应日志条目。

? 总结:Plesk Linux 环境下 PHP 错误日志路径固定、可预测,但依赖显式配置与正确权限。切勿沿用 Windows 路径思维;优先通过 Plesk UI 设置 error_log,辅以命令行验证,即可实现稳定、可追溯的错误监控。

到这里,我们也就讲完了《PHP Plesk错误日志位置及配置方法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>