从PHP脚本获取Apache配置
特别是我需要知道PHP脚本中的从PHP脚本获取Apache配置,php,apache,Php,Apache,特别是我需要知道PHP脚本中的ErrorLogApache配置设置,以显示最新的致命错误 PHP可以获得这样的设置吗?或者我需要手动传递日志路径吗? <?php phpinfo(); ?> 这将为您提供php配置的每个部分 我不确定您是否可以获得apache配置,尽管PHP没有用于查找apache错误日志的内置命令。作为替代方案,您可以在apache配置中执行类似的操作 ErrorLog /var/log/apache/error_log SetEnv APACHE_ERROR_
ErrorLog
Apache配置设置,以显示最新的致命错误
PHP可以获得这样的设置吗?或者我需要手动传递日志路径吗?
<?php
phpinfo();
?>
这将为您提供php配置的每个部分
我不确定您是否可以获得apache配置,尽管PHP没有用于查找apache错误日志的内置命令。作为替代方案,您可以在apache配置中执行类似的操作
ErrorLog /var/log/apache/error_log
SetEnv APACHE_ERROR_LOG /var/log/apache/error_log
PassEnv APACHE_ERROR_LOG
在您的PHP脚本中,$\u服务器['APACHE\u ERROR\u LOG']应该是您想要的。要获得APACHE配置,您可以设置
mod\u info
模块。看看
您可以在以下链接获得Apache配置:。活生生的例子
<Location /server-info>
SetHandler server-info
AllowOverride All
Order allow,deny
Allow from all
</Location>
SetHandler服务器信息
允许超越所有
命令允许,拒绝
通融
要在php中获取此信息,您可以使用:
<?php
echo(file_get_contents('http://localhost/server-info'));
?>
据我所知,Apache不会向PHP透露这些信息,即使它作为Apache模块运行。你有两种可能:
- 如果控制服务器,则可以启用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>
当然,如果您控制服务器,您可以自己检查文件:C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/sitios.d/foo.conf 4: 5:ServerName foo 7:DocumentRoot“C:/Sites/Foo/htdocs” 9:ErrorLog日志/foo-error.log 12: 13:允许超越所有 14:选项索引跟随符号链接 : :
文件*.conf
- 您可以将PHP配置为将错误发送到已知位置(我认为这是最常见的方法)。您可以使用和PHP指令