PHP错误日志记录不能通过.htaccess工作

Jay*_*dri 15 php logging

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

php_flag display_errors off
php_flag log_errors On
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并具有写入权限.

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

谢谢

too*_*php 23

尝试将以下测试页添加到您的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()");
Run Code Online (Sandbox Code Playgroud)

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

log_errors = [1]
error_log = [/var/www/vhosts//logs/fo_errors.log]
Writeable? Yes
Run Code Online (Sandbox Code Playgroud)

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


Tom*_*igh 14

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

php_flag display_errors off 
php_flag log_errors On 
php_value error_log /var/www/vhosts/hostname/logs/fo_errors.log 
Run Code Online (Sandbox Code Playgroud)