特别是我需要从PHP脚本知道ErrorLog
Apache配置设置,以显示最新的致命错误。
PHP可以获得此类设置,还是需要手动传递日志路径?
答案 0 :(得分:3)
PHP没有用于查找apache错误日志的内置命令。作为替代方案,您可以在apache配置中执行类似的操作。
ErrorLog /var/log/apache/error_log
SetEnv APACHE_ERROR_LOG /var/log/apache/error_log
PassEnv APACHE_ERROR_LOG
在你的PHP脚本中,$ _SERVER ['APACHE_ERROR_LOG']应该是你所要求的。
答案 1 :(得分:3)
获取Apache配置您可以设置mod_info
模块。看看this。
您可以在链接http://localhost/server-info获得Apache配置。 Here实例。
<Location /server-info>
SetHandler server-info
AllowOverride All
Order allow,deny
Allow from all
</Location>
要在php中获取此信息,您可以使用:
<?php
echo(file_get_contents('http://localhost/server-info'));
?>
答案 2 :(得分:2)
据我所知,Apache不会向PHP透露这些信息,即使它作为Apache模块运行。你有两种可能性:
如果您控制服务器,则可以启用mod_info Apache模块。它生成一个如下所示的HTML页面:
In file: C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/sitios.d/foo.conf
4: <VirtualHost *:80>
5: ServerName foo
7: DocumentRoot "C:/Sites/Foo/htdocs"
9: ErrorLog logs/foo-error.log
12: <Directory "C:/Sites/Foo/htdocs">
13: AllowOverride All
14: Options Indexes FollowSymLinks
: </Directory>
: </VirtualHost>
当然,如果你控制服务器,你可以自己检查*.conf
文件。
您始终可以配置PHP将其错误发送到已知位置(我想这是最常用的方法)。您可以使用error_log和log_errors PHP指令。
答案 3 :(得分:1)
<?php
phpinfo();
?>
这将为您提供php配置的每个部分
我不确定你是否可以通过
获得apache配置