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)?


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.


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"

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.


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.


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 .


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.


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.


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

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


0

Utilisez cette commande:

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

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


-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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.