Wie aktualisiere ich PHP unter Mac OS X?

99

Ich halte dies für eine schrecklich stumpfe Frage, aber seltsamerweise ist dieses Problem schlecht dokumentiert.

Ich möchte PHP aktualisieren, aber es gibt mehrere Probleme:

  • Es gibt keinen integrierten Paketmanager. MacPorts erkennt PHP nicht als installiertes Paket, da PHP selbst nicht installiert wurde.
  • Laufen locate phpzeigt an, dass es wahrscheinlich viele Abhängigkeiten gibt.
  • Ich weiß nicht, wie PHP installiert wurde, da es im Betriebssystem enthalten war, daher weiß ich nicht, ob ich von der Quelle installieren oder Binärdateien herunterladen soll. Ich kenne auch nicht den richtigen Weg, um die vorherige Version zu deinstallieren, ohne Abhängigkeiten zu brechen.

Ich renne auf Leopard. Ich habe das Gefühl, Apple möchte nicht, dass Sie ein Upgrade durchführen. Würde der Kauf von Snow Leopard und ein Upgrade dieses Problem lösen (und zukünftige mögen es)?

thebossman
quelle

Antworten:

90

Vielleicht möchten Sie sich das PHP-Paket von Marc Liyanage ansehen. Es wird in einem schönen Mac OS X-Installationspaket geliefert, auf das Sie doppelklicken können. Er hält es ziemlich auf dem neuesten Stand.

http://php-osx.liip.ch/

Auch wenn ein Upgrade auf Snow Leopard Ihnen in Zukunft nicht mehr bei PHP-Updates helfen wird, erhalten Sie wahrscheinlich eine neuere Version von PHP. Ich verwende OS X 10.6.2 und es hat PHP 5.3.0.

Scott Saunders
quelle
Danke dir!! Ich war nervös, dass dieser Prozess schwieriger werden würde.
Gavin
10
Beachten Sie, dass dieses Paket die ursprüngliche PHP-Version auf dem Mac nicht überschreibt , sodass es nicht sofort funktioniert. Sie müssen das neue Verzeichnis zum hinzufügen PATH. Anweisungen, damit es funktioniert, finden Sie auf dieser Seite (ich war dumm genug, das beim ersten Mal zu verpassen).
Codierter Affe
1
Beeindruckend! Nachdem ich stundenlang versucht hatte, den Installationsprozess über Homebrew zum Laufen zu bringen, habe ich dies versucht. Super schnell, super einfach und es hat sofort funktioniert! Vielen Dank!
Magnus W
Auf jeden Fall die beste Option. So schmerzlos (solange Sie daran denken, sicherzustellen, dass Sie $PATHkorrekt sind, wie von @CodedMonkey hervorgehoben)
Darragh Enright
2
Erwähnenswert ist auch, dass das Installationsprogramm Apache trotz Installation in einem separaten Verzeichnis so konfiguriert, dass alle Ihre Webanwendungen die neu installierte PHP-Version verwenden. Der PATH-Trick ist also nur dann nützlich, wenn Sie PHP über die Befehlszeile ausführen. Wenn Sie Webanwendungen ausführen möchten, kümmert sich das Installationsprogramm um alles.
Fiacobelli
51

Ich benutze dies: https://github.com/Homebrew/homebrew-php

Der Befehl lautet:

$ xcode-select --install

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

$ brew options php56
$ brew install php56

Dann konfigurieren Sie in Ihrem .bash_profileoder.bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
Taro Alan
quelle
Beachten Sie, dass dadurch das eingebettete PHP nicht aktualisiert wird, sondern ein neues installiert wird. Ich hatte ernsthafte Probleme, zwei Versionen zu installieren, trotz der Verwirrung ...
Julian F. Weinert
Ich habe es versucht und hatte auch viele Probleme, wie Bash-Absturz beim Start, ich musste es neu installieren. Seien Sie vorsichtig, wenn Sie diese Befehle ausprobieren, und achten Sie darauf, was Brew bei der Verarbeitung dieser Zeilen vorschlägt.
Brac
Beachten Sie, dass Homebrew / Dupes und Homebrew / Versionen jetzt veraltet sind.
Medinasod
14

Ich denke, ein einfacher Weg, dies zu tun, ist:

1 - Überprüfen Sie, wo sich Ihr aktuelles PHP befindet:

$ which php
$ /usr/local/bin/php

Siehst du? Normalerweise sind unsere Befehle, die wir ausführen, ein Link in / usr / local / bin, also ...

2 - Trennen Sie diese aktuelle Verbindung von PHP

unlink /usr/local/bin/php

Wenn Sie es vorziehen, überprüfen Sie vor dem Aufheben der Verknüpfung den Pfad und entfernen Sie dann die PHP-Dateien (do ls -al /usr/local/bin| grep php und dannrm -rf in den gewünschten Pfad)

3 - Installieren Sie PHP 7.1

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

4 - Erstellen Sie einen neuen Link (mit PHP 7.1 Bin, den Sie installiert haben)

ln /usr/local/php5-7.1.9-20170914-100859/bin/php /usr/local/bin/php

Wie ich schon sagte, es ist eine einfache Art, wie ich denke.

Paulo Victor
quelle
8

Es gibt keinen integrierten Paketmanager. MacPorts erkennt PHP nicht als installiertes Paket, da PHP selbst nicht installiert wurde.

Sie können es weiterhin mit MacPorts installieren. sudo port install php52(oder welche Version Sie wollen) wird PHP installieren.

Die von Apple bereitgestellte Version wird nicht überschrieben. Es wird es unter installieren /opt/local. Sie können /opt/localam Anfang Ihrer hinzufügen $PATHund die MacPorts-Version in Ihrer Apache-Konfiguration verwenden.

Mipadi
quelle
Wie finden Sie den Namen des PHP-Versionspakets heraus?
David
6

Option 1

Wie hier empfohlen , diese Seite bietet einen praktischen, aktuellen Einzeiler.

Dadurch wird die Basisversion von PHP auf Ihrem System nicht überschrieben, sondern sauber in / usr / local / php5 installiert.

Option 2

Meine bevorzugte Methode ist die Installation über Homebrew .

user456584
quelle
1
Du meinst das ? Idealerweise würden Sie hier alles zusammenfassen, wissen Sie, für Redundanz bei Verbindungsunterbrechungen und zur Vereinfachung! Erwähnenswert ist auch, dass es das Apple PHP auch nicht ersetzen wird. ; P
Cregox
3

Bevor ich fortfahre, habe ich die neueste Version (v5.0.15) von OS X Server (ja, schrecklich, ich weiß ... der Webserver scheint jedoch A-OK zu funktionieren) . Ich habe tagelang nach Hoch und Niedrig gesucht, um eine neue Version von PHP zu aktualisieren (oder zumindest Apache dazu zu bringen, darauf hinzuweisen). Meines mcrypthat zusammen mit anderen Erweiterungen nicht funktioniert und ich habe PHP unzählige Male von http://php-osx.liip.ch/ und anderen Tutorials installiert und neu installiert, bis ich endlich ein paar Informationen bemerkte, die in einem Kommentar in einem von geschrieben wurden Die vielen verschiedenen .confDateien, die OS X Server speichert, waren, dass OS X Server seine eigene benutzerdefinierte .confDatei lädt, bevor es den Apache lädt httpd.conf (befindet sich unter /etc/apache2/httpd.conf) . Die Serverdatei befindet sich:

/Library/Server/Web/Config/apache2/httpd_server_app.conf

Wenn Sie diese Datei öffnen, müssen Sie diese Zeile folgendermaßen auskommentieren:

#LoadModule php5_module libexec/apache2/libphp5.so

Fügen Sie dann den richtigen Pfad hinzu (der bereits installiert sein sollte, wenn Sie über den Link http://php-osx.liip.ch/ installiert haben ) :

LoadModule php5_module /usr/local/php5/libphp5.so

Nach dieser Änderung hat mein PHP endlich die richtige PHP-Installation geladen. Abgesehen davon kann es sein, dass OS X zum Zeitpunkt der OS X-Installation so funktioniert, dass die native Installation von PHP funktioniert. Zum Zurücksetzen machen Sie einfach die obige Änderung rückgängig.

Wie auch immer, hoffentlich ist dies hilfreich für alle anderen, die unzählige Stunden damit verbringen.

Rasclatt
quelle
1
Dieser Kommentar hat mir viel Zeit gespart!
GuyGizmo
2

Ein Upgrade auf Snow Leopard löst nicht das Hauptproblem, PHP auf dem neuesten Stand zu halten. Apple hält nicht immer die Software von Drittanbietern, die es mit Betriebssystem-Updates bündelt, auf dem neuesten Stand. Wenn Sie sich darauf verlassen, dass Apple Ihnen die Fehlerbehebung / das Sicherheitsupdate zur Verfügung stellt, die Sie benötigen, müssen Sie Probleme haben.

Darüber hinaus würde ich empfehlen, über MacPorts zu installieren (und die für die Verwendung anstelle von Apples PHP erforderliche Konfiguration vorzunehmen), anstatt zu versuchen, das von Apple bereitgestellte PHP an Ort und Stelle zu aktualisieren. Alles, was Sie tun, /usr/binkann durch ein zukünftiges Apple-Update überschrieben werden.

Dave Bacher
quelle
Apples Sicherheitsupdate 2010-002 aktualisiert Leopards PHP auf 5.2.12.
Dave Bacher
PHP 5.3.1 wird mit Snow Leopard geliefert.
JAL
2

Dies sparte Tastenanschläge und funktionierte unter MacOS Sierra:

$ brew install homebrew/php/php71

$ /usr/local/opt/php71/bin/php -v
PHP 7.1.4 (cli) (built: Apr 14 2017 15:02:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Cees Timmerman
quelle
2

Überprüfen Sie Ihre aktuelle PHP-Version im Terminal mit dem folgenden Befehl:

$ php -v

Sie sehen die aktuelle PHP-Version im Terminal und den nächsten Befehl im Terminal, wenn Sie Ihre PHP-Version mit PHP Concat mit der Version wie aktualisieren möchten.

$ brew install homebrew/php/php71

Bitte starten Sie das Terminal neu, wenn Sie das PHP-Versions-Upgrade installiert haben, und führen Sie den Befehl aus.

$ php -v

Jetzt sehen Sie die aktuelle PHP-Version im Terminal .... danke

Yekyawaung
quelle
0

Verwenden Sie diesen Befehl:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0
Aghaie
quelle
0

Sie können curl verwenden, um die PHP-Version zu aktualisieren.

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3

Letzter Schritt:

export PATH=/usr/local/php5/bin:$PATH

Überprüfen Sie die aktualisierte Version

php -v
Shuvo Habib
quelle
-1

Der beste Weg zum Upgrade ist das Kompilieren aus dem Quellcode

Sehen Sie sich dieses Tutorial an, das für Sie hilfreich sein kann

http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html

Riyush
quelle
21
Sie sollten vermeiden, einfach auf eine Ressource zu verlinken, ohne deren Inhalt hier zusammenzufassen. Wenn der Link unterbrochen wird, ist Ihre Antwort nicht mehr relevant.
Scott
1
Und ja ... der Link ist kaputt! :-D
emale
-2

um php7 auf die neueste stabile version brew upgrade php7 oder für php5.X auf die neueste stabile version zu aktualisieren

brew upgrade php56

Verwenden Sie brew listdiese Option, um die installierte Version zu überprüfen

Saurabh Chandra Patel
quelle