如何找到httpd.conf文件的位置?

时间:2012-11-12 09:32:05

标签: php apache

如何在apache(PHP)上找到httpd.conf文件的路径?我不知道我的脚本是否会在windows apache或linux中运行,我需要知道在哪里可以找到这个文件,以便从那里找到一个参数。谢谢!

6 个答案:

答案 0 :(得分:24)

我认为它没有暴露给PHP。 在终端中运行httpd -V,你会在那里找到它(命令名称取决于你的系统/ apache版本,它也可以是apache -V):

bash-3.2# httpd -V
Server version: Apache/2.2.22 (Unix)
Server built:   Aug 24 2012 17:16:58
Server's Module Magic Number: 20051115:30
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FLOCK_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr"
 -D SUEXEC_BIN="/usr/bin/suexec"
 -D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"     <-- HERE IT IS

但如果您只想知道某个配置变量的值,那么phpinfo()getenv()apache_getenv()应该足够了

答案 1 :(得分:13)

这是查找httpd.conf文件的经典方法:

# find / -name 'httpd.conf' -print

您也可以使用

文件定位文件
locate httpd.conf

答案 2 :(得分:4)

查看从phpinfo()获得的输出的开始,在那里显示基本的apache配置文件。最简单的是制作一个简单的PHP脚本并调用一次:

<?php phpinfo(); ?>

同样,您也可以直接查询这些设置。查看文档!

答案 3 :(得分:2)

httpd -V

它将显示所有编译设置,在您将找到的结果中间:

  • Apache根目录: /usr/local/apache
  • 根目录中的 Apache配置文件路径conf/httpd.conf
  

Apache conf文件:/usr/local/apache/conf/httpd.conf

root@host [~]# httpd -V Server version: Apache/2.4.16 (Unix) Server built: Dec 15 2015 10:01:02 Cpanel::Easy::Apache v3.32.6 rev9999 Server's Module Magic Number: ... Server loaded: APR 1.5.2, APR-UTIL 1.5.4 Compiled using: APR 1.5.2, APR-UTIL 1.5.4 Architecture: 64-bit Server MPM: prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=256 -D HTTPD_ROOT="/usr/local/apache" -D __SUEXEC_BIN="/usr/local/apache/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"

答案 4 :(得分:0)

如果您使用的是xampp 该文件将在此目录xampp \ apache \ conf

答案 5 :(得分:0)

如果未在phpinfo()中列出,可以使用

apache_getenv(/* variable */)

http://www.php.net/manual/en/function.apache-getenv.php