it-swarm.com.de

Mac/OSx - Ändern PHP Version, die in Bash aufgerufen wird

Ich habe ein Problem mit PHP, das durch den Bash-Befehl "php" aufgerufen wird:

In Bash:

php -v # PHP 5.3.17

/ usr/bin/php # PHP 5.3.15

Ich möchte sekundär PHP Version 5.3.15 als hauptsächlich, weil ich in dieser Version Erweiterungen usw. korrekt installiert habe. 

Wie kann ich/usr/bin/php als main einstellen -> Ich möchte beim Aufruf "php -v" meine 5.3.15-Version zurückgeben.

Verwende mein schlechtes Englisch, ich hoffe, dass du verstehst. 

Vielen Dank. Ich habe Mac OSx Lion

13
frosty22

Ich würde dir empfehlen, PHP über "Mac Ports" zu installieren.

Sie haben mehrere Versionen von PHP installiert. 

Mit dem cli-Befehl "which" können Sie:

BESCHREIBUNG Das Dienstprogramm which nimmt eine Liste mit Befehlsnamen und durchsucht den Pfad für jede ausführbare Datei Das würde ausgeführt, wenn diese Befehle tatsächlich aufgerufen wurden.

Lesen Sie also die Manpages des cli-Befehls "which".

Tue dies von deinem cli:

welche php

und dann werden Sie sehen, wo sich Ihre ausführbare PHP-Datei befindet. Was ich Ihnen empfehlen würde, ist, Ihre PHP-Programmdatei durch einen symbolischen Link zu Ihrer/usr/bin/php zu ersetzen.

4
slash28cu

Eine andere Möglichkeit, die ursprüngliche PHP-Datei/den ursprünglichen Link nicht zu ändern, ist, wenn Sie Ihre .bashrc-Datei wie folgt bearbeiten (funktioniert auch mit anderen Befehlen):

  1. Öffnen Sie Ihr Terminal/Ihre Befehlszeile und geben Sie Folgendes ein: 

    vim ~/.bashrc
    
  2. Drücken Sie dann "i", um in den Bearbeitungsmodus zu gelangen (wenn zuvor aufgrund einer Auslagerungsdatei ein Problem aufgetreten ist, drücken Sie "E", um die Datei trotzdem zu bearbeiten.)
  3. Fügen Sie die folgende Zeile hinzu (ändern Sie den Pfad nach Bedarf): 

    alias php="/Applications/MAMP/bin/php/php5.4.10/bin/php"
    
  4. Drücken Sie "ESC" und geben Sie ": wq" ein.
  5. Wenn Sie den php-Alias ​​direkt aus Ihrer aktuellen Shell-Sitzung heraus benötigen, müssen Sie den folgenden Befehl verwenden (dies ist optional, also nur, wenn Sie in Ihrer aktuellen Shell weiterarbeiten):

    source ~/.bashrc
    

Es ist keine Änderung im Ordner/usr/bin erforderlich, und Sie können Ihre bashrc-Datei/-Einstellungen bei Bedarf in ein beliebiges Linux/bsd-System exportieren, ohne Ihre OS/usr/bin-Dateien zu berühren. Sie können auch neue Aliasnamen für verschiedene PHP-Versionen, Aliasnamen wie "php52", "php53", "php54" usw. zu Testzwecken hinzufügen.

Viel Spaß, IoCron

13
ioCron

OS: OSX Yosemite
Sortieren Sie einfach eine ähnliche Ausgabe nach vim ~/.bash_profile

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

Stellen Sie sicher, dass die Bestellung korrekt ist.export PATH=/usr/local/bin:$PATHvorexport PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH

/ usr/local/bin enthält den mac default php .

Hoffe das hilft.

9
Tien Lin

Für Braubenutzer benötigen Sie möglicherweise nicht php55, wenn Sie bereits 54 haben - aber unabhängig davon sollten Sie diese Befehle wahrscheinlich ausführen

$ brew install php54 php54-xdebug php54-mcrypt

sie können 54 durch die letzte Nummer ersetzen, wenn Sie möchten. Zuletzt habe ich überprüft, dass es am 56 war

basierend auf einigen der obigen Kommentare sollten Sie Folgendes ausführen:

$ php --version

es wird wahrscheinlich anzeigen:

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

wenn dies der Fall ist, ändern Sie Ihr .bash_profile wie einige andere Kommentatorenmeine Brew-Instanz (ich denke, die Standardeinstellung) lebt in 

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

wenn die Dinge mit Brew installiert werden, werden sie in den Keller gestellt und durch den Behälter verbunden. in diesem Fall müssen wir jedoch die php überschreiben 

$ Sudo nano ~/.bash_profile

meine sieht irgendwie aus:

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

was bedeutet, dass es bereits Zugriff auf/usr/local/bin hat - aber ich benutze den Alias, um anzugeben, indem Sie diese Zeile am unteren Rand hinzufügen:

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

speichern und schließen Sie das Terminalfenster, öffnen Sie ein anderes, und es sollte etwa Folgendes anzeigen:

$ 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

Sie sollten den Pfad nachschlagen und alle Verzeichnisse im Pfad auf einen Symlink zur falschen PHP-Version überprüfen.

Dann können Sie den Symlink entfernen und durch einen Link zur korrekten Version ersetzen.

Sie können auch find verwenden, um alle Instanzen anzuzeigen:

$ Sudo find / -name "php"
1
jeroen