2012-01-21 26 views
4

我有找出error_log中的路径

我有这个domain.com ponted到/home/username/public_html/domain.com

我加入这行到的.htaccess

ErrorDocument 500 /oohps.php 
ErrorDocument 404 /where.php 

这样我就可以表现出一定的风格模板

问题是,当试图访问一个不存在的页面,我得到和aditional内部服务器错误,所以这个文件不打开,

我想检查日志,但我canot发现错误日志中该路径(/home/username/public_html/domain.com),

找到一个在:/var/log/httpd

,但我不认为它正确的文件夹,因为有有很多错误没有涉及此页,我没有看到任何涉及,

是否有一个PHP功能,将输出错误日志文件路径

回答

14

内部服务器错误通常与Apache有关,而/ var/log/httpd /是apache的错误日志文件,所以我认为你在正确的文件中。


错误路径在php.ini中设置。为了获取路径使用ini_get()

<?php 
    $errorPath = ini_get('error_log'); 
?> 
+0

你做了一个名为path.php的页面吗?用这个代码init? –

+0

正确...我会尝试phpinfo:S –

2

我不知道有这样的功能,但也许phpinfo();将有关的一些信息?

日志路径是在apache站点的配置文件中定义的,如果你想要一个自定义路径,如果不是默认的,所有的日志都加载到/var/log/apache2/*.log中,所以php与无关它

0

您在php.inierror_log设置(或phpinfo()

2

只得到其中PHP存储其日志,使用路径:

pathinfo(ini_get('error_log'),PATHINFO_DIRNAME); 

应返回这样的事情(在localho ST):

/Applications/MAMP/logs 
0

正如我偶然发现了这个问题,并ini_get没有帮助下面可能是一个人解决过别人。

如果error_log未在php.ini或类似内容中设置,则会将错误发送到SAPI错误记录器。这例如在例如apache2是apache虚拟主机配置中定义的错误日志。获取apache日志目录的一种方法是检查stderr文件描述符的符号链接值。

其中在Linux上的工作原理的一个例子是:

$logdir = pathinfo(realpath("/proc/".getmypid()."/fd/2"), PATHINFO_DIRNAME); 

此示例读取的符号链接文件的路径的/ proc/[PID]/FD/2,其是stderr文件描述符。