Mein Mac-Webserver funktioniert nach dem Upgrade auf Yosemite nicht mehr. Wenn ich apachectl
in Terminal tippe, erhalte ich Folgendes:
httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n Referenced from: /usr/local/php5/libphp5.so\n Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so
Wenn ich sudo apachectl [re]start
nichts tippe, passiert nichts, als ob es gestartet wäre und ich es erneut tippe, heißt es, dass es bereits läuft. Außerdem ist der Bereich "Webfreigabeeinstellungen" installiert ( http://clickontyler.com/web-sharing/ ). Wenn ich den Schalter von "Aus" auf "Ein" stelle, wird immer noch angezeigt, dass er ausgeschaltet ist, obwohl sich der Schalter in der Position "Ein" befindet .
Welche Dateien wollen / müssen ihr sehen? Ich muss das wirklich so schnell wie möglich beheben.
quelle
Das Problem tritt auf, weil Yosemite die neueste Version von Apache (2.4) installiert, während frühere Versionen von Mac OS X Apache Version 2.2 verwendeten
Aus dem Fehler geht hervor, dass Sie nicht die von Apple bereitgestellte Standardversion von PHP verwendet haben, sondern eine andere von liip.ch bereitgestellte Version. Durch Entfernen des # -Zeichens, wie von Nuttyx oben vorgeschlagen, wird die Apple-Version von PHP (5.5.14) geladen. Wenn Sie die von liip bereitgestellte Version weiterhin ausführen möchten, müssen Sie sie neu installieren, damit sie ordnungsgemäß in Apache 2.4 geladen wird. Eine ausführliche Erklärung finden Sie hier: ( http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html )
Hinweis: Wenn Sie virtuelle Hosts verwenden, müssen Sie wahrscheinlich Ihre Konfigurationsdateien etwas ändern. Insbesondere müssen Sie Folgendes ändern:
2.2 Konfiguration:
2.4 Konfiguration:
quelle
Es scheint, dass Sie dies beheben können, indem Sie die
#
am Anfang der folgenden Zeile in der/etc/apache2/httpd.conf
Datei entfernen :quelle
Das Ausführen von 'sudo apachectl' ohne Argumente zeigt das Problem in den conf-Dateien. In meinem Fall hat das Upgrade von PHP das Problem behoben.
Danach lief Apache erneut, aber ich musste die vhosts neu konfigurieren.
quelle
Während die obige Frage beantwortet wurde, gibt es eine andere Möglichkeit des gleichen Fehlers wie:
Dies kann passieren, wenn Sie einen symbolischen Link erstellt haben, auf den im obigen Namen verwiesen wird und der nicht gefunden wird. Erstellen Sie zum Auflösen einen symbolischen Link, der den absoluten Pfad für die tatsächliche Datei und den gleichen für den angegebenen Symlink-Dateinamen angibt.
quelle