Comment mettre à jour PHP sous Mac OS X?
Je pense que c'est une question terriblement obtus à 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 paquets intégré. MacPorts ne reconnaît pas php comme un paquet installé car il n'a pas installé PHP lui-même.
- L'exécution de
locate php
indique qu'il y a probablement beaucoup de 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 que je devrais installer à partir de la source 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. Est-ce que l'achat de Snow Leopard et la mise à niveau résoudraient ce problème (et les futurs l'aimeraient)?
12 réponses
Vous pouvez consulter le paquet php de Marc Liyanage. Il est livré dans un joli package d'installation Mac OS X que vous pouvez double-cliquer. Il tient assez à jour.
En outre, bien que la mise à niveau vers Snow Leopard ne vous aidera pas à faire des mises à jour PHP à l'avenir, elle vous donnera probablement une version plus récente de PHP. Je cours OS X 10.6.2 et il a PHP 5.3.0.
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_profile
ou .bashrc
# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
Il n'y a pas de gestionnaire de paquets intégré. MacPorts ne reconnaît pas php comme un paquet installé car il n'a pas installé PHP lui-même.
Vous pouvez toujours l'installer avec MacPorts. sudo port install php52
(ou la version que vous voulez) installera PHP.
Il n'écrasera pas la version fournie par Apple. Il va l'installer sous /opt/local
. Vous pouvez ajouter /opt/local
au début de votre $PATH
, et utiliser la version MacPorts dans votre configuration Apache.
Je pense qu'une façon simple de le faire, est:
1-Vérifiez où est votre PHP actuel:
$ which php
$ /usr/local/bin/php
Tu vois? Généralement, nos commandes que nous courons est un lien dans /usr/local/bin oui...
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 -rf
dans le chemin souhaité)
3-Installer PHP 7.1
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
4-Créer un nouveau lien (En utilisant PHP 7.1 bin 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 un moyen simple je pense.
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 est de installer via Homebrew.
Avant de continuer, j'ai la dernière version (v5.0. 15) de OS X Server (Oui, horrible, je sais...toutefois, le serveur web semble fonctionner OK). J'ai cherché haut et bas pendant des jours en essayant de mettre à jour (ou au moins obtenir Qu'Apache pointe vers) une nouvelle version de PHP. Mon mcrypt
n'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 j'ai finalement remarqué un tid-bit de informations écrites dans un commentaire dans l'un des nombreux fichiers .conf
différents que le serveur OS X conserve, c'est-à-dire que le serveur OS X Charge son propre fichier .conf
personnalisé avant de charger Apache httpd.conf
(situé à /etc/apache2/httpd.conf
). Le fichier du serveur est situé:
/Library/Server/Web/Config/apache2/httpd_server_app.conf
Lorsque vous ouvrez ce fichier, vous devez commenter cette ligne comme ceci:
#LoadModule php5_module libexec/apache2/libphp5.so
Ajoutez ensuite le chemin correct (qui devrait déjà être installé si vous l'avez installé via le http://php-osx.liip.ch/ lien):
LoadModule php5_module /usr/local/php5/libphp5.so
Après cette modification, mon PHP a finalement chargé L'installation PHP correcte. Cela étant dit, si les choses tournent mal, C'est peut-être parce que OS X est fait pour fonctionner hors de L'installation native de PHP au moment de L'installation D'OS X. Pour revenir, il suffit d'annuler la modification ci-dessus.
Quoi qu'il en soit, j'espère que cela est utile pour quiconque passe d'innombrables heures à ce sujet.
La mise à niveau vers Snow Leopard ne résoudra pas votre problème principal de garder PHP à jour. Apple ne garde pas toujours le logiciel tiers qu'il regroupe à jour avec les mises à jour du système d'exploitation. Et compter sur Apple pour vous obtenir la correction de bug / mise à jour de sécurité dont vous avez besoin est de demander des ennuis.
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/bin
risque d'être écrasé par une future mise à jour Apple.
Enregistrer 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
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 commande suivante s'exécute dans le terminal si vous voulez mettre à jour votre version de php avec PHP concat avec la version aimée comme,
$ brew install homebrew/php/php71
Veuillez redémarrer 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 actuelle de php dans le terminal....merci
, Utilisez cette Commande:
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0
La meilleure façon de mettre à niveau est compilez-le à partir de la source
Voir ce tutoriel qui peut être utile pour vous
Http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html
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 list
pour vérifier la version installée