Как узнать путь к файлу httpd.conf на apache (PHP)? Я не знаю, будет ли мой script запущен в windows apache или linux, мне нужно знать, где я могу найти этот файл, чтобы найти параметр оттуда. спасибо!
Содержание
6 ответов
22 lupatus [2012-11-12 12:44:00]
Я думаю, что он не подвергается воздействию PHP. Запустите httpd -V в терминале, и вы найдете его там (имя команды зависит от вашей версии system/apache, оно также может быть apache -V ):
но если вы хотите узнать только значение некоторой переменной конфигурации, тогда phpinfo() , getenv() или apache_getenv() должно быть достаточно
11 Ganatra [2013-11-14 12:06:00]
Это классический способ найти файл httpd.conf:
Также вы можете найти файл, используя
4 arkascha [2012-11-12 12:35:00]
Посмотрите на начало вывода, которое вы получаете из phpinfo(), там показаны основные фиды конфигурации apache. Так проще всего сделать тривиальный php script и называть его один раз:
Аналогичным образом вы также можете напрямую запросить эти параметры. Проверьте документацию!
2 Rajesh [2014-03-10 07:12:00]
httpd -V
Здесь будут показаны все параметры компиляции, в середине результатов вы найдете:
- Корневой каталог Apache: /usr/local/apache
- путь файла конфигурации Apache из корневого каталога: conf/httpd.conf
Файл конфига Apache: /usr/local/apache/conf/httpd.conf
]# 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 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_P
0 Dv_ [2012-11-12 12:38:00]
если вы используете xampp файл будет находиться в этом каталоге xamppapacheconf
Здесь приведены типичные места, где находится httpd.conf — конфигурационный файл веб-сервера Apache. Расположение конфигурационного файла httpd.conf зависит используемой операционной системы и версии Apache:
FreeBSD
apache 1.3
/usr/local/etc/apache/httpd.conf
apache 2.2
/usr/local/etc/apache22/httpd.conf
Linux
CentOS, Fedora (Redhat-системы)
/etc/httpd/conf/httpd.conf
Debian, Ubuntu
apache 1.3
/etc/apache/httpd.conf
apache 2.2
/etc/apache2/apache2.conf
/etc/apache2/envvars — здесь находятся переменные apache — имя пользователя и группы, от имени которых работает apache (APACHE_RUN_USER, APACHE_RUN_GROUP).
Статей о том, как найти конфиг Апача, в интернете масса. Но в них в основном даётся информация о том, где находится основной файл конфигурации Apache 2 на сервере автора статьи. Иногда это может быть даже Апач не второй, а первый. Так как в основном все копируют друг у друга контент. Для того, чтобы точно найти конфиг Apache, не нужно пытаться его искать по тому пути, что советуют. Нужно посмотреть его в настройках конкретного сервера. Именно о том, как найти его у себя на сервере и будет показано ниже в этой статье на примере моего текущего рабочего сервера, работающего с Debian 9. Но, я не думаю, что операционная система как-то затруднит поиск этого конфига. Разве что на сервере под Windows. Но тут я пока просто разведу руками. =)
Продолжение следует
Начать следует с того, чтобы прочитать предыдущую статью о том, с чего следует начать изучение Apache у себя на сервере. В ней дан обзор команды apachectl , которая напрямую связана с работой и управлением установленного на сервере Апача.
Параметр -V команды apachectl
Теперь собственно о теме этой статьи. Для того, чтобы найти конфиг Apache у себя на сервере, нужно запустить команду apachectl -V . Так как это кажется наиболее походящим вариантом из предлагаемых подсказкой по ней. «show compile settings» — значится в описании этой опции. Попробуем 😉
Как найти конфиг Апача у себя на сервере?
Вот собственно мы и получили ответ на этот вопрос, если внимательно вчитаемся в полученный результат:
Последняя строка указывает на то, что конфигурационный файл Apache имеет название apache2.conf . Осталось разобраться, в какой директории его найти. АГА! Вот главная директория Апача:
Конфиг Apache найден! =)
Осталось всё собрать воедино и гордо сообщить: «У меня на сервере конфигурационный файл Apache находится точно в этом месте: /etc/apache2/apache2.conf »