Wie stelle ich ein, welcher Apache / PHP 10.6 laufen soll?

Alle meine Probleme ergaben sich aus dem Versuch, mcrypt für PHP zu installieren. Letzte Nacht gab ich nach und folgte einem Tutorial , wie man eine völlig neue Installation von Apache2 und php5.3.3 durchführt. Ich habe dies mit MacPorts gemacht.

Leider hat das letzte Nacht mcrypt für mich nicht aktiviert, obwohl ich ziemlich erfreut war, dass ich 5.3.3 zum Laufen gebracht habe. :)

Das Problem ist, dass ich heute Morgen aufgewacht bin und festgestellt habe, dass meine PHP-Version wieder auf 5.3.1 heruntergefahren ist, was nur bedeuten kann, dass OS X zu meinem ursprünglichen Apache und PHP zurückgekehrt ist.

Wie kann ich OS X anweisen, die Software zu verwenden, die ich über MacPorts installiert habe?

(Und dann werde ich als neue Frage, wie mcrypt aktiviert wird)

Wenn Sie nur Antworten wünschen, die mit "Wie kann ich OSX anweisen, die Software zu verwenden, die ich über Macports installiert habe?" übereinstimmen, sollten Sie vielleicht Ihre Frage bearbeiten. Weil Sie zwei verschiedene Dinge fragen.

Antworten (3)

Es ist nicht so sehr, dass Ihre Version von Apache/PHP zurückgesetzt wurde – es ist nur die falsche Version geladen.

Wenn Sie die Webfreigabe von Mac OS X aktiviert haben, wird automatisch die Version von Apache und PHP aktiviert, die Apple mit dem LaunchDaemon org.apache.httpd.plistin bereitstellt /System/Library/LaunchDaemons(dies überschreibt die MacPorts-Version). Sie sollten dies deaktivieren, indem Sie entweder die Webfreigabe im Bereich „Freigabeeinstellungen“ deaktivieren oder indem Sie ausführen sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist.

Bei der Installation von Apache für MacPorts wurde ein LaunchDaemon installiert, /Library/LaunchDaemonsder bei Aktivierung die MacPorts-Version von Apache automatisch startet. Um es zu aktivieren, laufen Sie sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plistund Sie sind ab zu den Rennen.

Wenn Sie apachectleinen Neustart ausführen möchten, vergewissern Sie sich, dass Sie die richtige Version ausgewählt haben. Möglicherweise müssen Sie zuvor Ihren $PATH /opt/local/apache2/bimändern/usr/sbin

Welche Version von PHP wird verwendet? Auf der Befehlszeile hängt dies von Ihrem $PATH ab, während es für Apache vollständig in Ihrer Konfiguration liegt, wo sich das libphp5-Modul befindet. ( /etc/apache2/für die eingebaute Version, /opt/local/apache2/conffür die installierte Version von MacPorts)

Du hast zwei Lösungen:

  1. Sie müssen die globale PATHVariable bearbeiten, um am Anfang MacPort-Ordner hinzuzufügen. Es enthält die Reihenfolge der Ordner, die das System verwendet, um Binärdateien zu finden.
  2. Sichern Sie die ursprünglichen Binärdateien (in /usr/bin, /bin, …) und fügen Sie dann Symlinks zu MacPorts-Binärdateien hinzu.

Verwenden Sie Option 2 normalerweise erst, wenn Sie wirklich wissen, was Sie tun. Ich habe es nur erwähnt, weil es technisch möglich ist.

Um die globale PATHVariable zu bearbeiten, bearbeiten Sie die Datei /etc/paths, fügen Sie /opt/local/binam Anfang hinzu und starten Sie schließlich neu, um die Änderungen zu übernehmen.

Sie können nach dem Neustart kontrollieren, ob Änderungen vorgenommen wurden, indem Sie den folgenden Befehl ausführen:

echo $PFAD

/opt/local/binSie sollten kurz vorher sehen /usr/bin:/bin:….

Warum muss OS X wissen, welcher Apache verwendet werden soll? Führen Sie einfach selbst den richtigen Apache aus. Öffnen Sie Terminal cdzum MacPorts-Verzeichnis, das den richtigen Apache enthält (wahrscheinlich /opt/something/something/something/Apache2/binoder so ähnlich), und führen Sie es aus (wahrscheinlich so etwas wie ./httpd).