Problemi con apache dopo l'aggiornamento di php e mysql usando homebrew

2

Spero che qualcuno qui possa aiutarmi.

Ho aggiornato php e file correlati utilizzando brew upgrade sul mio Mac su cui è in esecuzione Mac OS X 10.8.3. Tutto stava funzionando bene prima e volevo solo aggiornare.

Dopo aver assicurato che tutto andava bene per quanto riguarda i file di configurazione e i vhosts ho emesso il seguente comando per riavviare apache:

sudo apachectl restart

Ho quindi provato a connettermi a http://localhost/phpinfo.php

Safari errato con:

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

nel terminale, inviando il seguente comando:

apachectl -V | grep httpd.conf

restituisce:

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

La radice del server è:

ServerRoot "/usr"

e Document Root è:

DocumentRoot "/Volumes/sites"

DocumentRoot ha le autorizzazioni impostate su 755

Come ho detto, tutto funzionava bene fino al riavvio di apache.

Ora, niente funziona.

Sono completamente perso e ho bisogno di far funzionare di nuovo le cose.

    
posta Ali Samii 17.05.2013 - 11:25
fonte

1 risposta

6

OK, quindi ho trovato il colpevole.

È sorprendente che nessun messaggio di errore fosse visibile nella console o nei log degli errori, ma ho trovato un sito che mi ha aiutato molto.

link

In quel post, l'autore, Josh, suggerì di riavviare apache usando il seguente comando:

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

Questo comando fornisce alcune informazioni di errore e supera la frustrante terminazione silenziosa di Apache.

Quando ho emesso il comando, mi ha dato il seguente output:

$ 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

Alla fine di quello snippet, puoi vedere che sta provando e fallendo nel caricare /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so

Bene, quando ho aggiornato le mie installazioni homebrew, php5 è stato aggiornato alla 5.4.15, quindi quel percorso non era più valido. (In realtà, il percorso era valido, dal momento che php era ora alle 5.4.15, e il percorso puntava alla versione precedente della lib di 5.4.11, l'apache stava per terminare.

La modifica di questa riga in https.conf ha risolto il problema.

    
risposta data 17.05.2013 - 11:47
fonte

Leggi altre domande sui tag