找出error_log的path

在这里

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

我将这行添加到.htaccess

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

所以我可以显示一些风格的模板

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

我想检查日志,但我找不到path中的错误日志( /home/username/public_html/domain.com ),

find了一个: /var/log/httpd

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

有没有一个PHP函数可以输出错误日志文件path

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


错误路径在php.ini中设置。 要获取路径,请使用ini_get()

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

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

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

要仅获取PHP存储其日志的路径,请使用:

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

哪个应该返回像这样(在本地主机上):

 /Applications/MAMP/logs 

检查php.ini (或phpinfo() )中的error_log设置

当我偶然发现这个问题,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文件描述符的符号链接文件的路径。