ЭТОТ ВОПРОС ДОЛЖЕН БЫТЬ ЗАКРЫТ.
Я недавно собрал MapServer 6.2 на машине CentOS 6.3, используя
./configure --with-ogr=/usr/bin/gdal-config --with-gdal=/usr/bin/gdal-config --with-proj=/usr --with-geos=/usr/bin/geos-config --with-postgis=/usr/bin/pg_config --with-php=/usr/include/php --with-wfs --with-wfsclient --with-wmsclient --enable-debug --with-threads --with-wcs --with-sos --with-gd --with-freetype=/usr/bin --with-jpeg --with-cairo --with-curl
во всяком случае, если это интересно.
Таким образом, после этого Apache / 2.2.15 молча не перезапускается, т.е. когда apachectl graceful
, он говорит: «httpd не запущен, пытается запуститься». Там есть ничего интересующих вас в Apache errors_log, /var/log/messages
, и это странно, потому что до сих пор это всегда работало.
Многократный перезапуск машины не решать проблему. Еще кое-что, что я сделал:
[root@R12X0210 cgi-bin]# service httpd status
httpd is stopped
[root@R12X0210 cgi-bin]# ps aux|grep httpd
root 1846 0.0 0.0 103236 864 pts/0 S+ 12:11 0:00 grep httpd
Я подозреваю, что это может иметь какое-то отношение к модулю php, который был изменен / добавлен MapServer, но я действительно не знаю ... Я даже не знаю, как правильно отладить это.
РЕДАКТИРОВАТЬ: Хорошо, /var/log/httpd/error_log
не обязательно пуст, он скорее показывает эти две вещи после выполнения /sbin/service/httpd start
[Wed Dec 19 17:33:24 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Dec 19 17:33:24 2012] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
Приводит ли ошибка SSL к остановке механизма запуска? Дело в том, что у нас работает неподписанный сертификат, т.е. мы тестируем доступ по протоколу https, но еще не в рабочем режиме. Абсолютно ничего был изменен в конфигурации SSL Apache до того, как он перестал работать.
РЕДАКТИРОВАТЬ2: А пока я переустановил httpd с yum reinstall httpd
это сделал не решить проблему тоже.
Если PostgreSQL работает на том же компьютере, убедитесь, что он прослушивает 0.0.0.0
или на 127.0.0.1
, или на ::
в порту 5432
. Чтобы проверить это, следующая команда должна что-то вернуть:
sudo netstat -tlnp|egrep ':5432'
Если у вас PostgreSQL работает на другом компьютере, убедитесь, что файл hosts настроен правильно и правильный хост используется в конфигурации PostgreSQL вашего приложения PHP.