Macports Apache httpd не запускается в Mac OS X Yosemite

1681
Max

Итак, после 2 дней попыток выяснить, почему Macports Apache httpdнеожиданно решил прекратить работу, в конечном итоге все сводилось к следующему:

$ sudo bash -x /opt/local/apache2/bin/apachectl -k start ARGV='-k start' HTTPD=/opt/local/apache2/bin/httpd test -f /opt/local/apache2/bin/envvars . /opt/local/apache2/bin/envvars test x '!=' x DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib export DYLD_FALLBACK_LIBRARY_PATH LYNX='lynx -dump' STATUSURL=http://localhost:80/server-status ULIMIT_MAX_FILES= '[' x '!=' x ']' ERROR=0 '[' 'x-k start' = x ']' case $ARGV in /opt/local/apache2/bin/httpd -k start ERROR=1 exit 1 

Это слон в комнате, ERROR=1что-нибудь значит?

Я запустил отладку, и я получил ту же ошибку выше:

$ sudo bash -x /opt/local/apache2/bin/apachectl -k start -e Debug -E /dev/stdout 

Локальный Mac Apache не возвращает ошибок и httpdзапускается нормально, он выдает следующее:

$ sudo bash -x /usr/sbin/apachectl -k start ACMD=-k ARGV='-k start' HTTPD=/usr/sbin/httpd test -f /usr/sbin/envvars . /usr/sbin/envvars test x '!=' x DYLD_LIBRARY_PATH=/usr/lib export DYLD_LIBRARY_PATH LYNX='lynx -dump' STATUSURL=http://localhost:80/server-status ULIMIT_MAX_FILES= LAUNCHCTL=/bin/launchctl LAUNCHD_JOB=/System/Library/LaunchDaemons/org.apache.httpd.plist '[' x '!=' x ']' ERROR=0 '[' 'x-k start' = x ']' case $ARGV in /usr/sbin/httpd -k start ERROR=0 exit 0 

Это, наверное, мой последний удар в этом, через 2 дня я готов сдаться!

0

2 ответа на вопрос

1
Jeremy Huddleston Sequoia

ERROR=1 means that the bash script is setting the environment variable "ERROR" to the value 1.

apachectl basically does:

$HTTPD $ARGV ERROR=$? exit $ERROR 

The issue is that /opt/local/apache2/bin/httpd -k start is exiting with an exit code of 1. You should figure out why that is. You said you ran sudo /opt/local/apache2/bin/httpd -k start -e Debug -E /dev/stdout but saw no errors. What was the exit code?

Извините, я имел в виду да, когда я запускаю `sudo bash -x / opt / local / apache2 / bin / apachectl -k start -e Отладка -E / dev / stdout` Я также получаю ERROR = 1 и выхожу 1 Max 9 лет назад 0
Может ли это быть связано с `DYLD_FALLBACK_LIBRARY_PATH`, потому что, если вы заметили, что в локальном Apache, который запускает, он не использует запасной вариант` DYLD_LIBRARY_PATH` Max 9 лет назад 0
1
Max

Я вспомнил ранее на MAMP, что вызываемый модуль unique_id_moduleпрепятствовал его запуску. Поэтому я отключил его, httpd.confи теперь Macports Apache запускается без ошибок.

Просто раскомментируйте это так:

#LoadModule unique_id_module modules/mod_unique_id.so