PHP中是否有输出apache配置中定义的错误日志的方法?

时间:2011-07-26 21:25:49

标签: php apache

我创建了一个PHP脚本,以自定义的可视格式读取错误日志文件,但是现在,我有一个硬编码的错误日志文件的路径,这对我来说很好,但我想找到如果有办法自动拉出error_log的路径,那么它可以在任何服务器上运行而无需进一步配置。

3 个答案:

答案 0 :(得分:1)

您可以使用ini_get获取PHP中的error_log路径。

$error_log = ini_get('error_log');

否则,你将被降级为使用类似的东西:

<?php
ob_start();
phpinfo(INFO_CONFIGURATION);

$phpinfo = ob_get_contents();

ob_end_clean();

preg_match('#error_log</td><td\b[^>]*>(.*?)</td>#', $phpinfo, $matches);
$error_log = $matches[1];

请注意,如果没有设置error_log,$error_log将返回:

<i>no value</i>

答案 1 :(得分:0)

您可以从ErrorLog指令

中提取它

http://httpd.apache.org/docs/current/mod/core.html#errorlog

答案 2 :(得分:0)

在PHP中获取它的唯一方法是安装ApacheAccessor之类的东西。不会把它称为便携式,因为我很少看到它安装,但疯狂猜测默认路径是默认发行版是你唯一的其他选择。