2013-03-28 6 views
18

Wie bekomme ich Composer eine neuere Version von PHP zu verwenden, die ich installiert habe? Ich habe heruntergeladen und benutze PHP 5.4 in allen meinen lokalen Servern, aber wenn ich den Composer herunterlade, zeigt es auf die Standard #!/Usr/local/bin/env-Version meines Mac, die 5.3.15 ist. Ich habe versucht, die Composer Executable zu bearbeiten und den verwendeten PHP zu ändern, aber es brach die ausführbare Datei.Composer neuere Version von PHP zu verwenden

Ich versuche, Komponist zu verwenden, um Laravel zu installieren, und es lädt die falsche Version aus diesem Grund.

Dies ist, was die Spitze meiner Composer ausführbare Datei aussieht, aber dann gibt es eine Reihe von seltsamen Zeichen unten.

#!/usr/bin/env php 
<?php 
/* 
* This file is part of Composer. 
* 
* (c) Nils Adermann <[email protected]> 
*  Jordi Boggiano <[email protected]> 
* 
* For the full copyright and license information, please view 
* the license that is located at the bottom of this file. 
*/ 

Phar::mapPhar('composer.phar'); 
define('COMPOSER_DEV_WARNING_TIME', 1366931166); 
require 'phar://composer.phar/bin/composer'; 

composer.json für Laravel Projekt

{ 
    "require": { 
     "laravel/framework": "4.0.*@dev" 
    }, 
    "autoload": { 
     "classmap": [ 
      "app/commands", 
      "app/controllers", 
      "app/models", 
      "app/database/migrations", 
      "app/database/seeds", 
      "app/tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-update-cmd": "php artisan optimize" 
    }, 
    "minimum-stability": "dev" 
} 
+0

was ist Sie 'php -V' Ausgang? – Rob

+0

Nun ich Aliased "PHP" in meinem Bash_Profile auf meine neue Version zu zeigen, so ist es mir sagen, es ist 5.4.11 – David

+0

Also, wenn Sie 'php composer.phar laravel' laufen lassen, verwendet es nicht PHP 5.4.11? – Rob

Antwort

12

fand ich das Problem. Ich habe die Datei composer.phar in mein Verzeichnis/usr/local/bin/verschoben, und egal, was ich getan habe, es war immer 5.3.15. Ich löschte die ausführbare Datei aus meiner Ablage und lud die .phar-Datei erneut herunter, zog sie in meinen Projektstamm und führte "php composer.phar install" aus, und es sah so aus, als ob das funktionierte.

Dinge zu bereinigen ich habe folgendes:

I composer.phar an der Wurzel meines Benutzerprofil links

/Users/davidadams/composer.phar 

ich meine Bash_profile dann geöffnet und addierten die folgenden alias

alias composer='/usr/local/php5/bin/php /Users/davidadams/composer.phar' 

So ist es mir global zur Verfügung und ich kann definieren, welche PHP-Version ich verwenden möchte. Hoffentlich finden andere das nützlich.

+1

'#!/Usr/bin/env php' - diese Zeile gibt die verwendete PHP-Version an. Überprüfen Sie 'env --help' auf der Kommandozeile für eine Einführung, Sie können auch die Manpage mit' man env' lesen. – hakre

+2

Sie können laufen müssen 'source ~/.bash_profile' Ihre Aliase neu zu laden, bevor sie –

5

Standardmäßig verwendet Composer für * nix systems das von der Umgebung angegebene PHP binary/executable. Sie können, dass in der ersten Zeile sehen, welche das ist shebang:

#!/usr/bin/env php 

Sie die Schale gegen eine konkretere PHP-Version zu schlagen sagen kann stattdessen zum Beispiel:

#!/usr/local/php5/bin/php 

Auf Windows-Systemen, wenn Sie verwenden Mit dem Composer-Setup können Sie die PHP-Binärdatei angeben und das Setup ändert dann die Umgebung, um diese Anforderungen zu erfüllen. Sie können aber auch einfach die Batchdatei neu schreiben -oder- das Windows-Betriebssystem so konfigurieren, dass .phar-Dateien mit der spezifischen PHP-Binärdatei ausgeführt werden.

+0

für Windows-Anwender arbeiten, aktualisieren oder herunterladen Herabstufung hier [link] (http://windows.php.net/download/). Kopiere es in deine/wamp/bin/php. Dann gehen Sie zu Systemsteuerung -> System und Sicherheit -> System -> erweiterte Systemeinstellungen -> Umgebungsvariablen, finden Sie "Pfad", bearbeiten Sie es, finden Sie "wamp/bin/php/(ändern Sie die Version, die Sie gerade heruntergeladen haben). Neustart sie cmd ein und versuchen sie es erneut mit Komponisten für mich gearbeitet .. hoffen, dass es jemand zu –

13

Wenn Sie nicht für die dauerhafte Einstellungen kümmern, unter Befehl für mich gearbeitet:

/Applications/MAMP/bin/php/php5.6.27/bin/php /usr/local/bin/composer install 

Syntax ist:

{PATH TO YOUR PHP VERSION} {PATH TO COMPOSER EXECUTABLE} {COMPOSER COMMAND} 

den ausführbaren Pfad zu wissen: which {EXECUTABLE} kann sehr hilfreich sein. Ex: which composer gaben unter Ausgabe, die ich in obigem Befehl verwendet:

/usr/local/bin/composer 
+0

Wunsch hilft ich auf diese 10+ stimmen könnte -.! dank – craigh

+0

froh, dass es geholfen :) – div

+0

ich bin mit MAMP und Komponist immer wieder versucht, die OSX nutzen zu können! Version. Das funktionierte für mich für etwas schnelles – Ronnie