【问题标题】:PHP error logging does not work via .htaccessPHP 错误日志不能通过 .htaccess 工作
【发布时间】:2010-12-05 06:32:20
【问题描述】:

我需要将所有 PHP 错误记录到我的 centOS 机器上的文件中。我想我正在做我应该做的一切。这是我的 .htaccess 文件:

php_flag display_errors 关闭 php_flag log_errors 开启 php_flag error_log /var/www/vhosts/hostname/logs/fo_errors.log
  • 在我的 php.ini 中,我设置了 error_reporting=E_ALL。
  • Apache 会解析 .htaccess
  • /var/www/vhosts/hostname/logs/fo_errors.log 的所有者设置为 apache:apache 并具有写入权限。

我没有想法..有人可以帮忙吗?

谢谢

【问题讨论】:

    标签: php logging


    【解决方案1】:

    您可能希望在设置日志路径时使用php_value 而不是php_flagphp_flag 仅用于设置布尔配置属性。

    php_flag display_errors off 
    php_flag log_errors On 
    php_value error_log /var/www/vhosts/hostname/logs/fo_errors.log 
    

    【讨论】:

    • 嗬嗬!我需要第二双眼睛才能看到那个。谢谢汤姆。
    • 有人可以编辑这个答案并添加更正的 htaccess 吗?这可能对其他人有用。
    【解决方案2】:

    尝试将以下测试页面添加到您的 Web 根目录:

    <?php
    // debug.php
    echo "<pre>";
    echo "log_errors = [", ini_get('log_errors'), "]\n";
    echo "error_log = [", ini_get('error_log'), "]\n";
    echo "writeable? ", is_writable(ini_get('error_log')) ? 'Yes' : 'No', "\n";
    echo "</pre>";
    error_log("Test from error_log()");
    user_error("Test error from user_error()");
    

    浏览到/debug.php,您应该会看到以下输出:

    log_errors = [1]
    error_log = [/var/www/vhosts//logs/fo_errors.log]
    Writeable? Yes
    

    您还应该在每次访问该页面时在日志文件中看到两条消息。

    【讨论】:

      猜你喜欢
      • 2013-12-04
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 2012-12-09
      • 1970-01-01
      相关资源
      最近更新 更多