将php脚本中的错误记录到指定的日志文件中


Log errors in one of my php script to specified logfile

如果我运行以下php文件

<?php
$str = 'he;
echo $str;
?>

它将记录一个解析错误到标准apache日志文件。我可以在php.ini中指定一个日志文件,但这会改变所有php脚本的日志文件。

是否可以将特定脚本中的错误记录到特定的日志文件中?

您可以将.htaccess指令与<Files>结合使用:

<Files something.php>
    php_flag log_errors on
    php_value error_log /path/to/your/error.log
</Files>
<Files something_else.php>
    php_flag log_errors on
    php_value error_log /path/to/your/other_error.log
</Files>
另外,请确保PHP作为Apache模块安装,否则将无法工作。

在PHP/5.3.0及更高版本中,您可以在PHP .ini文件中创建[PATH=]节。

你提到了Apache。如果你将PHP作为Apache模块运行,你可以在标准的Apache容器中使用php_value指令,如<Files>

从PHP 5.3开始,可以通过使用path将PHP .ini中的设置绑定到某个路径。

这一节允许你定义一组php.ini指令当脚本从指定路径运行时生效。