Probleme mit Apache nach Update von PHP und MySQL mit Homebrew

Ich hoffe hier kann mir jemand weiterhelfen.

Ich habe PHP und zugehörige Dateien brew upgradeauf meinem Mac aktualisiert, auf dem Mac OS X 10.8.3 ausgeführt wird. Vorher hat alles funktioniert und ich wollte nur updaten.

Nachdem ich mich vergewissert hatte, dass alles in Bezug auf Konfigurationsdateien und vhosts in Ordnung war, gab ich den folgenden Befehl aus, um Apache neu zu starten:

sudo apachectl restart

Ich habe dann versucht, eine Verbindung herzustellenhttp://localhost/phpinfo.php

Safari hat einen Fehler ausgegeben mit:

Safari can’t open the page “http://localhost/phpinfo.php” because Safari can’t connect to the server “localhost”.

im Terminal folgenden Befehl eingeben:

apachectl -V | grep httpd.conf

ergibt:

-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"

Server-Root ist:

ServerRoot "/usr"

und Document Root ist:

DocumentRoot "/Volumes/sites"

Für DocumentRoot sind die Berechtigungen auf 755 festgelegt

Wie gesagt, alles hat gut funktioniert, bis ich Apache neu gestartet habe.

Jetzt geht nichts mehr.

Ich bin völlig verloren und muss die Dinge wieder zum Laufen bringen.

Antworten (1)

Ok, also habe ich den Übeltäter gefunden.

Es ist erstaunlich, dass keine Fehlermeldung in der Konsole oder in den Fehlerprotokollen angezeigt wurde, aber ich habe eine Seite gefunden, die mir sehr geholfen hat.

http://blog.joshdick.net/2012/07/28/troubleshooting_apache_in_os_x_10.8_mountain_lion.html

In diesem Beitrag schlug der Autor Josh vor, Apache mit dem folgenden Befehl neu zu starten:

sudo bash -x /usr/sbin/apachectl -k start

Dieser Befehl liefert einige Fehlerinformationen und überwindet die frustrierende stille Beendigung von Apache.

Als ich den Befehl ausgab, gab es mir die folgende Ausgabe:

$ sudo bash -x /usr/sbin/apachectl -k start
+ ARGV='-k start'
+ HTTPD=/usr/sbin/httpd
+ test -f /usr/sbin/envvars
+ . /usr/sbin/envvars
++ 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
httpd: Syntax error on line 118 of /private/etc/apache2/httpd.conf: Cannot load /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so into server: dlopen(/usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so, 10): Library not loaded: /usr/local/opt/zlib/lib/libz.so.1.2.7\n  Referenced from: /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so\n  Reason: image not found
+ ERROR=1
+ exit 1

Am Ende dieses Ausschnitts können Sie sehen, dass es versucht und fehlschlägt, /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so zu laden

Nun, als ich meine Homebrew-Installationen aktualisierte, wurde php5 auf 5.4.15 aktualisiert, sodass dieser Pfad nicht mehr gültig war. (Eigentlich war der Pfad gültig, da PHP jetzt auf 5.4.15 war und der Pfad auf die ältere 5.4.11-Bibliothek zeigte, wurde Apache beendet.

Das Ändern dieser Zeile in https.conf löste das Problem.