Mac Apache funktioniert nicht - Apachectl-Konfigurationstestfehler

Ich versuche, MAMP zu verlassen und lokale Versionen eines AMP-Stacks auf meinem Mac auszuführen, aber wenn ich versuche, Apache zu starten und localhost von einem Browser aus auszuführen, wird nichts angezeigt.

Beim Ausführen von apachectl configtest sehe ich die folgenden Fehler, aber ich weiß nicht, wie ich sie beheben soll.

Gibt es eine Möglichkeit, den AMP-Stack auf einem Mac sauber neu zu installieren? Ist das überhaupt die empfohlene Lösung?

httpd: Syntaxfehler in Zeile 527 von /private/etc/apache2/httpd.conf: Syntaxfehler in Zeile 8 von /private/etc/apache2/other/+php-osx.conf: Kann /usr/local/php5/ nicht laden libphp5.so in den Server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol nicht gefunden: _unixd_config\n Referenziert von: /usr/local/php5/libphp5.so\n Erwartet in: /usr/ sbin/httpd\n in /usr/local/php5/libphp5.so

Könnten Sie Ihre Frage mit den Versionen von Apache und PHP erweitern, die Sie installiert haben? Sind es die, die mit Ihrem Mac geliefert wurden, oder haben Sie andere installiert? Könnten Sie uns auch Zeile 527 von httpd.conf und Zeile 8 von +php-osx.conf mitteilen (idealerweise mit ein paar Kontextzeilen auf beiden Seiten von beiden)?

Antworten (1)

Sieht so aus, als hätten Sie eine zusätzliche conf-Datei im otherVerzeichnis. Diese Datei ( +php-osx.conf) versucht, PHP von /usr/localstatt dem vom System bereitgestellten PHP zu laden. Ich weiß, dass meine PHP-Installation funktioniert und verwende den von Apple bereitgestellten Apache und PHP. Der Aufruf des PHP-Moduls sollte sich in der Hauptdatei befinden httpd.conf- diese Zeile ist dort, aber standardmäßig in der von Apple bereitgestellten Konfiguration auskommentiert:

LoadModule php5_module libexec/apache2/libphp5.so

Und darin othersollte nur die einzelne php5.confDatei sein, Inhalt:

<IfModule php5_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

Der von Apple bereitgestellte Apache2 sollte die Standardkonfigurationsdateien in enthalten /etc/apache2, die mit einem Suffix wie .original, .pre-updateoder gekennzeichnet sind ~previous. Gleiches gilt für die conf-Dateien in Unterverzeichnissen.

Hallo @dr.nixon, und danke für die Antwort. Ich habe gestern Abend jemanden gebeten, sich das Problem anzusehen, und – wie Sie betonen – gibt es eine Mischung aus Konfigurationen. Das Problem ist jedoch so schlimm, dass es nicht behebbar ist, also muss ich zur MAMP-Route gehen.