Installation von PHP 5.4 auf Mountain Lion

Ich habe gerade Mountain Lion installiert und musste natürlich Xcode-Befehlszeilentools einrichten, Git neu installieren und andere Dinge tun, um zum Programmieren wieder einsatzbereit zu sein. Natürlich wurde PHP von 5.4, das ich zuvor installiert hatte, als auf meinem MacBook Pro Lion lief, auf 5.3 zurückgesetzt. Ich habe den Prozess durchlaufen, PHP 5.4 heruntergeladen, entpackt (tar xf php5.4), konfiguriert (./configure with and without options), erstellt (make), make test ausgeführt (make test) und make installiert (sudo make install). Als ich die Konfiguration mit Optionen ausführte, erlaubte es mir nicht, make zu machen, und als ich ohne Konfigurationsoptionen ausführte, konnte ich den Make-Test einige Male nicht bestehen (als dies auftrat, schickte ich die Informationen an Zend). Als es den Make-Test bestanden hat, sagte es, dass es erfolgreich installiert wurde, aber wenn ich die Version (php -v) überprüfen würde, wird immer noch PHP 5.3 angezeigt. Ich habe dies fast neun Mal mit Neustarts und erneutem Herunterladen des Pakets jedes Mal getan; keine Soße. Hat jemand eine Idee, was da schief laufen könnte? Jede Hilfe zu diesem Thema wäre sehr willkommen.

Ich hatte auch Probleme mit der Installation von PHP 5.4 auf Mountain Lion. Ich habe die Schritte, die ich befolgt habe, in einem Blogbeitrag niedergeschrieben: sawantshah.com/web-development/… . Sie und andere, die möglicherweise Probleme haben, finden unter diesem Link möglicherweise eine Lösung (es gab viele Probleme, auf die ich gestoßen bin).

Antworten (3)

Ich empfehle dringend, dass Sie beim Kompilieren das Paketinstallationsprogramm oder einen vollständigen Stapel von Konfigurationsoptionen verwenden, einschließlich der Option --prefix, damit Sie wissen, wo die Binärdatei installiert wird.

Ich kann nur vermuten, dass sich PHP 5.4 in /usr/local/binoder woanders installiert hat und nicht nur die Standard-Binärdatei in überschrieben hat /usr/bin. Und Sie scheinen Ihre PATHVariable nicht geändert zu haben, um das bin-Verzeichnis /usr/localmit zB PATH="/usr/local/bin:$PATH"in Ihrem .bash_profile zu priorisieren. Es wird also erwartet, dass das Ausführen phpimmer noch verwendet wird /usr/bin/phpund nicht /usr/local/bin/php.

Alternativ können Sie die neue PHP-Binärdatei einfach mit /usr/bin/php verknüpfen (löschen oder benennen Sie die Standard-Binärdatei davor um):

ln -s /usr/local/bin/php /usr/bin/php
Der Installer weist das System nicht einfach auf magische Weise an, die neuere PHP-Binärdatei anstelle der in /usr/bin zu verwenden. Entweder Symlink oder setzen Sie Ihre PATH-Variable. Führen Sie eine aus /usr/local/php5/bin/php -v, um zu sehen, ob die neue Binärdatei korrekt installiert ist
Das war die Antwort, nach der ich gesucht habe. Nachdem ich mein $PATHin meinem geändert .bash_profileund Apache eingerichtet hatte, funktionierte es. Jetzt habe ich nur Probleme, meinen Localhost zum Laufen zu bringen, ugh.

Ich habe MAMP installiert und alles funktioniert einwandfrei.

MAMP enthält kein PHP 5.4.
Ich entschuldige mich: Wenn ich mir die MAMP- Produktseite ansehe , schien es das Gegenteil zu sein. (Ich hatte auch das Fehlen von 5.4 auf die harte Tour bemerkt, aber das war vor dem 12.07.2012.)

Hast du es mal versucht über Homebrew zu installieren ?

Ich habe auch gerade einen Blog-Post gefunden (Sie müssen ein wenig nach unten zum Abschnitt Homebrew scrollen), der besagt, dass das Problem beim Kompilieren von PHP möglicherweise darauf zurückzuführen ist, dass ML nicht mit X11 geliefert wird, aber es gibt eine Problemumgehung.

Eigentlich ist hier der relevante Teil aus dem Blog-Beitrag:

Apple hat die Unterstützung für X11 in Mountain Lion entfernt. Das bedeutet, dass alles, was mit einer von X11 bereitgestellten Bibliothek verknüpft war, sich jetzt beschweren und sterben würde. Dies bedeutete, dass unsere benutzerdefinierte kompilierte Version von PHP am Werk war. dylibs fehlten, was die Ausführung von PHP verhinderte, und Header-Dateien konnten nicht gefunden werden, wodurch ein Update von PHP nicht kompiliert werden konnte.

Die Homebrew-Leute haben es schon vor einer Weile kommen sehen. Es gibt Pull-Requests und Änderungen in Branches, die sich mit diesem Problem befassen. Aber das Beste, was ich sagen kann, hat es nicht alles in den Master geschafft und es ist immer noch nicht bereit zu gehen.

Es gibt eine Problemumgehung, die auf der Installation von XQuartz beruht, um die erforderlichen X11-Bibliotheken bereitzustellen. Dies ist möglicherweise nicht für jeden erforderlich, aber für diejenigen von uns, die bestimmte Softwareversionen ausführen, bedeutet dies Kopfschmerzen. In unserem Fall bedeutete dies für PHP, dass Bibliotheken fehlten, die für die Handhabung von Schriftarten und Bildern erforderlich sind. Und das sind nur die Fehler, die zuerst auftauchten. Ich bin mir nicht sicher, wie viele andere Dinge, die X11 zur Verfügung gestellt hat, darauf gewartet haben, dass Fehler auftreten, sollten wir versucht haben, die Teile zu verlinken, als wir die Fehler gefunden haben.

Laden Sie zunächst XQuartz herunter und installieren Sie es. Nachdem Sie dies getan haben, verlinken Sie es mit dem Ort, an dem Homebrew X11 erwartet. Wir hatten dort Ordner, vermutlich vom Upgrade übrig geblieben.

$ cd /usr
$ mv X11 X11.bak
$ ln -s /opt/X11 X11

Da dies nun ein Betriebssystem-Upgrade war, wurden alle Konfigurations- und INI-Dateien umbenannt und ersetzt. Das bedeutet, dass die Apache-conf- und PHP-ini-Dateien ersetzt werden mussten. Zum Glück hatten wir eine benutzerdefinierte Homebrew-Formel, die diesen Teil der Umwelt für uns handhabte. Also mussten wir diese Formel nur deinstallieren und neu installieren, um Apache und PHP so zu konfigurieren, wie wir es hatten. Ihr Setup wird natürlich anders sein.