Comment mettre à jour PHP sous Mac OS X?

99

Je pense que c'est une question terriblement obtuse à poser, mais étrangement, ce problème est mal documenté.

Je voudrais mettre à jour PHP, mais il y a plusieurs problèmes:

  • Il n'y a pas de gestionnaire de packages intégré. MacPorts ne reconnaît pas php comme un package installé car il n'a pas installé PHP lui-même.
  • L'exécution locate phpindique qu'il existe probablement de nombreuses dépendances.
  • Je ne sais pas COMMENT php a été installé, car il était inclus avec le système d'exploitation, donc je ne sais pas si je devrais installer à partir des sources ou télécharger des binaires. Je ne connais pas non plus la bonne façon de désinstaller la version précédente sans casser les dépendances.

Je cours sur Leopard. J'ai le sentiment qu'Apple ne veut pas que vous mettiez à niveau. L'achat et la mise à niveau de Snow Leopard résoudraient-ils ce problème (et les futurs similaires)?

thebossman
la source

Réponses:

90

Vous voudrez peut-être consulter le package PHP de Marc Liyanage. Il est livré dans un joli package d'installation Mac OS X sur lequel vous pouvez double-cliquer. Il le tient assez à jour.

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

De plus, même si la mise à niveau vers Snow Leopard ne vous aidera pas à faire des mises à jour PHP à l'avenir, cela vous donnera probablement une version plus récente de PHP. J'utilise OS X 10.6.2 et il a PHP 5.3.0.

Scott Saunders
la source
Je vous remercie!! J'avais peur que ce processus soit plus difficile.
Gavin le
10
Notez que ce package ne remplace pas la version originale de PHP sur le Mac, il ne fonctionne donc pas hors de la boîte, vous devez ajouter le nouveau répertoire au fichier PATH. Les instructions pour le faire fonctionner sont sur cette page (j'ai été assez stupide pour manquer ça la première fois).
Coded Monkey
1
Hou la la! Après avoir passé des heures à essayer de faire fonctionner le processus d'installation via Homebrew, j'ai essayé ceci. Super rapide, super facile et cela a fonctionné tout de suite! Merci!
Magnus W
Certainement la meilleure option. Si indolore (aussi longtemps que vous vous souvenez de vous assurer que votre $PATHest correct, comme indiqué par @CodedMonkey)
Darragh Enright
2
En outre, il convient de mentionner que malgré l'installation dans un répertoire séparé, le programme d'installation configure Apache pour que toutes vos applications Web utilisent la version php nouvellement installée. Ainsi, l'astuce PATH n'est utile que si vous exécutez php depuis la ligne de commande. Si vous souhaitez exécuter des applications Web, le programme d'installation se charge de tout.
fiacobelli
51

J'utilise ceci: https://github.com/Homebrew/homebrew-php

La commande est:

$ xcode-select --install

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

$ brew options php56
$ brew install php56

Puis config dans votre .bash_profileou.bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
Taro Alan
la source
Notez que cela ne mettra pas à jour le PHP intégré, mais en installera un nouveau. J'ai rencontré de sérieux problèmes avec l'installation de deux versions, malgré la confusion ...
Julian F. Weinert
J'ai essayé cela et j'ai également eu beaucoup de problèmes, comme le crash de bash au lancement, j'ai dû le réinstaller. Soyez prudent lorsque vous essayez ces commandes et faites attention à ce que Brew suggère de faire pendant le traitement de ces lignes.
Brac
Notez que les homebrew / dupes et homebrew / versions sont désormais obsolètes.
medinasod
14

Je pense qu'une façon simple de le faire est:

1 - Vérifiez-vous où est votre PHP actuel:

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

Tu vois? Habituellement, nos commandes que nous exécutons sont un lien dans / usr / local / bin donc ...

2 - Dissocier ce lien actuel de PHP

unlink /usr/local/bin/php

Si vous préférez, avant de le dissocier, vérifiez le chemin, puis supprimez les fichiers php (faites ls -al /usr/local/bin| grep php puis rm -rfdans le chemin souhaité)

3 - Installez PHP 7.1

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

4 - Créer un nouveau lien (en utilisant le bin php 7.1 que vous avez installé)

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

Comme je l'ai dit, c'est une façon simple de penser.

Paulo Victor
la source
8

Il n'y a pas de gestionnaire de packages intégré. MacPorts ne reconnaît pas php comme un package installé car il n'a pas installé PHP lui-même.

Vous pouvez toujours l'installer avec MacPorts. sudo port install php52(ou selon la version souhaitée) installera PHP.

Il n'écrasera pas la version fournie par Apple. Il l'installera sous /opt/local. Vous pouvez ajouter /opt/localau début de votre $PATH, et utiliser la version MacPorts dans votre configuration Apache.

mipadi
la source
comment trouvez-vous le nom du package de la version php?
David
6

Option 1

Comme recommandé ici , ce site fournit une doublure pratique et à jour.

Cela n'écrase pas la version de base de PHP sur votre système, mais l'installe proprement dans / usr / local / php5.

Option 2

Ma méthode préférée consiste simplement à installer via Homebrew .

user456584
la source
1
Tu veux dire ça ? Idéalement, vous résumeriez tout ici, vous savez, pour la redondance en cas de rupture de liaison et pour la simplicité! Il convient également de noter qu'il ne remplacera pas non plus le php d'Apple. ; P
cregox
3

Avant de continuer, j'ai la dernière version (v5.0.15) d' OS X Server (oui, horrible, je sais ... cependant, le serveur Web semble fonctionner A-OK) . J'ai cherché haut et bas pendant des jours en essayant de mettre à jour (ou au moins de faire pointer Apache) une nouvelle version de PHP. Mon mcryptn'a pas fonctionné, avec d'autres extensions et j'ai installé et réinstallé PHP d'innombrables fois à partir de http://php-osx.liip.ch/ et d'autres tutoriels jusqu'à ce que je remarque enfin une petite information écrite dans un commentaire dans l'un des les nombreux .conffichiers différents conservés par OS X Server, c'est-à-dire qu'OS X Server charge son propre .conffichier personnalisé avant de charger Apache httpd.conf (situé à /etc/apache2/httpd.conf) . Le fichier serveur se trouve:

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

Lorsque vous ouvrez ce fichier, vous devez commenter cette ligne comme suit:

#LoadModule php5_module libexec/apache2/libphp5.so

Ajoutez ensuite le chemin correct (qui devrait déjà être installé si vous avez installé via le lien http://php-osx.liip.ch/ ) :

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

Après cette modification, mon PHP a finalement chargé l'installation correcte de PHP. Cela étant dit, si les choses tournent mal, c'est peut-être parce qu'OS X est conçu pour fonctionner sur l'installation native de PHP au moment de l'installation d'OS X. Pour revenir en arrière, annulez simplement la modification ci-dessus.

Quoi qu'il en soit, j'espère que cela sera utile pour quiconque passe d'innombrables heures à ce sujet.

Rasclatt
la source
1
Ce commentaire m'a fait gagner beaucoup de temps!
GuyGizmo
2

La mise à niveau vers Snow Leopard ne résoudra pas votre principal problème de mise à jour de PHP. Apple ne tient pas toujours à jour les logiciels tiers qu'il regroupe avec les mises à jour du système d'exploitation. Et compter sur Apple pour vous fournir le correctif de bogue / la mise à jour de sécurité dont vous avez besoin pose des problèmes.

De plus, je recommanderais d'installer via MacPorts (et de faire la configuration nécessaire pour l'utiliser à la place du PHP d'Apple) plutôt que d'essayer de mettre à niveau le PHP fourni par Apple. Tout ce que vous faites /usr/binrisque d'être écrasé par une future mise à jour Apple.

Dave Bacher
la source
La mise à jour de sécurité d'Apple 2010-002 met à jour PHP de Leopard vers la version 5.2.12.
Dave Bacher
PHP 5.3.1 est fourni avec Snow Leopard.
JAL
2

Économie sur les frappes, cela a fonctionné sur 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
la source
2

Vérifiez votre version actuelle de php dans le terminal avec la commande suivante,

$ php -v

Vous voyez la version actuelle de php dans le terminal, et la prochaine commande exécutée dans le terminal si vous souhaitez mettre à niveau votre version de php avec php concat avec la version comme,

$ brew install homebrew/php/php71

Veuillez redémarrer le terminal si vous avez terminé la mise à niveau de la version php installée et exécutez la commande.

$ php -v

Maintenant, vous voyez la version php actuelle dans le terminal .... merci

yekyawaung
la source
0

Utilisez cette commande:

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

Vous pouvez utiliser curl pour mettre à jour la version php.

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

Dernière étape:

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

Vérifiez la version mise à jour

php -v
Shuvo Habib
la source
-1

le meilleur moyen de mettre à niveau est de le compiler à partir des sources

voir ce tutoriel qui peut vous être utile

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

Riyush
la source
21
Vous devez éviter de simplement créer un lien vers une ressource sans résumer son contenu ici. Lorsque le lien se rompt, votre réponse ne sera plus pertinente.
Scott
1
Et oui ... le lien est rompu! :-D
emale
-2

pour mettre à niveau php7 vers la dernière version stable brew upgrade php7 ou pour php5.X vers la dernière version stable

brew upgrade php56

utiliser brew listpour vérifier la version installée

Saurabh Chandra Patel
la source