You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VPS服务器PHP error_log未生成问题求助

解决VPS上PHP错误日志不生成的问题

1. 定位真正生效的PHP配置文件

  • 打开网页端的phpinfo页面,找到Loaded Configuration File项,这才是当前Web环境实际加载的php.ini路径,不要修改其他无关的php.ini文件。
  • 若用命令行排查CLI模式配置,可执行php --ini,但Web环境的配置以phpinfo显示的结果为准。

2. 检查是否存在配置覆盖

  • 查看phpinfo里的Additional .ini files parsed项,这些额外加载的ini文件可能覆盖全局php.ini的设置,检查其中是否有error_log的自定义配置。
  • 若使用Apache,检查网站根目录的.htaccess文件,是否存在php_value error_log "/path/to/other/log"这类配置;若使用Nginx,查看虚拟主机配置中的fastcgi_param,是否有fastcgi_param PHP_VALUE "error_log=/xxx/xxx.log"的设置,这类配置优先级高于php.ini。
  • PHP-FPM的池配置文件(如/etc/php/7.4/fpm/pool.d/xxx.conf)中,也可能存在php_admin_value[error_log]的设置,同样会覆盖全局配置。

3. 确保日志目录/文件权限正确

根据phpinfo显示的路径/home/durweb/logs/dur-web_com.php.error.log,执行以下操作:

  • 先确认日志目录存在:
    mkdir -p /home/durweb/logs/
    
  • 给PHP运行用户(通常为www-data、apache、nginx或网站用户durweb)设置读写权限:
    touch /home/durweb/logs/dur-web_com.php.error.log
    # 假设PHP运行用户为www-data,根据实际情况修改
    chown www-data:www-data /home/durweb/logs/ /home/durweb/logs/dur-web_com.php.error.log
    chmod 755 /home/durweb/logs/
    chmod 644 /home/durweb/logs/dur-web_com.php.error.log
    

4. 重启相关服务

修改配置或权限后,必须重启服务才能生效:

  • Apache环境:
    systemctl restart apache2
    
  • Nginx+PHP-FPM环境:
    systemctl restart nginx
    systemctl restart php-fpm  # 或对应版本如php7.4-fpm、php8.1-fpm
    

5. 测试错误日志生成

创建测试文件test_error.php,内容如下:

<?php
// 故意触发未定义变量错误
echo $undefined_var;
?>

访问该文件后,查看/home/durweb/logs/dur-web_com.php.error.log,应该能看到对应的错误日志内容。


内容的提问来源于stack exchange,提问作者gfneo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:00:13