web-dev-qa-db-fra.com

Mac/OSx - Changer PHP version qui s'appelle en bash

J'ai un problème avec PHP qui est appelé par la commande bash "php":

En bash:

php -v # PHP 5.3.17

/ usr/bin/php # PHP 5.3.15

Je veux principalement PHP version 5.3.15 car, dans cette version, j'ai correctement installé les extensions, etc. 

Comment puis-je définir/usr/bin/php comme principal -> Je veux quand l'appel "php -v" renvoie ma version 5.3.15.

Execuse mon mauvais anglais, j'espère que vous comprenez. 

Merci beaucoup . J'ai Mac OSx Lion

13
frosty22

Je vous recommanderais d'installer php via "Mac Ports".

Vous avez plusieurs versions de php installées. 

Avec la commande "qui" vous pouvez:

LA DESCRIPTION L'utilitaire which prend une liste de noms de commandes et recherche le chemin de chaque fichier exécutable qui serait exécuté si ces commandes avaient été réellement appelées.

Lisez donc les pages de manuel de la commande cli "which".

FAITES ceci depuis votre cli:

quel php

et ensuite vous verrez où se trouve votre exécutable php. Ce que je vous recommanderais est de remplacer votre exécutable php par un lien symbolique vers votre/usr/bin/php.

4
slash28cu

Une autre manière de ne pas changer le fichier/lien php original est si vous éditez votre fichier .bashrc comme suit (fonctionne aussi avec d'autres commandes):

  1. Ouvrez votre terminal/ligne de commande et tapez: 

    vim ~/.bashrc
    
  2. Puis appuyez sur "i" pour entrer en mode édition (si un problème survient avant, à cause d'un fichier d'échange, appuyez sur "E" pour le modifier quand même)
  3. Ajoutez la ligne suivante (modifiez le chemin si nécessaire): 

    alias php="/Applications/MAMP/bin/php/php5.4.10/bin/php"
    
  4. Appuyez sur "ESC" et tapez ": wq"
  5. Si vous avez besoin que php-alias fonctionne directement de votre session Shell actuelle, vous devez utiliser la commande suivante (c'est facultatif, donc uniquement si vous continuez à travailler dans votre Shell actuel):

    source ~/.bashrc
    

C’est tout, aucune modification dans le dossier/usr/bin n’est nécessaire, et vous pouvez exporter votre fichier/paramètres bashrc vers n’importe quel autre système tel que linux/bsd, si nécessaire, sans même toucher à vos fichiers OS/usr/bin. Vous pouvez également ajouter de nouveaux alias pour différentes versions de PHP, tels que "php52", "php53", "php54", etc. à des fins de test ou autre.

Amusez-vous, IoCron

13
ioCron

OS: OSX Yosemite
Il suffit de régler un problème similaire par vim ~/.bash_profile

export PATH =/usr/local/bin: $ PATH
export PATH =/Applications/MAMP/bin/php/php5.5.10/bin: $ PATH

Assurez-vous que la commande est correcte. Mettezexport PATH=/usr/local/bin:$PATHbeforeexport PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH

/ usr/local/bin contient le mac default php .

J'espère que cela t'aides.

9
Tien Lin

Pour les utilisateurs de bière, vous n’aurez peut-être pas besoin de php55 si vous en avez déjà 54 - mais peu importe, vous devriez probablement exécuter ces commandes

$ brew install php54 php54-xdebug php54-mcrypt

vous pouvez remplacer le dernier numéro par 54 si vous le souhaitez. La dernière fois que j'ai vérifié c'était sur 56

ensuite, en vous basant sur certains des commentaires ci-dessus, vous devriez lancer:

$ php --version

il affichera probablement:

PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

si c'est le cas, changez votre .bash_profile comme certains des autres commentateursmy instance de brassage (je pense que son défaut) vit dans 

/usr/local/Cellar
/usr/local/bin

au fur et à mesure que les choses s'installent à l'aide d'une infusion, elles sont mises en cave et liées par le biais de la corbeille. mais dans ce cas, nous devons remplacer le php 

$ Sudo nano ~/.bash_profile

le mien ressemble un peu à:

PATH=$PATH:~/bin
PATH=$PATH:/usr/local/bin
PATH=$PATH:/usr/local/sbin
PATH=$PATH:/usr/local/Cellar/r/2.15.1/R.framework/Versions/Current/Resources/li$
export PATH

ce qui signifie qu'il a déjà accès au répertoire/usr/local/bin - mais j'utilise l'alias pour spécifier en ajoutant cette ligne, vers le bas:

alias php="/usr/local/bin/php"

enregistrer et fermer la fenêtre du terminal, en ouvrir une autre, et elle devrait afficher quelque chose comme:

$ php --version
PHP 5.4.27 (cli) (built: Apr 24 2014 17:16:35) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with Xdebug v2.2.4, Copyright (c) 2002-2014, by Derick Rethans
5
Greg

Vous devriez rechercher le chemin et vérifier dans tous les répertoires du chemin un lien symbolique vers la mauvaise version de php.

Ensuite, vous pouvez supprimer ce lien symbolique et le remplacer par un lien vers la version correcte.

Vous pouvez également utiliser find pour voir toutes les instances:

$ Sudo find / -name "php"
1
jeroen