Verwenden Sie eine andere ausführbare PHP-Version der CLI für einen Befehl
So habe ich Gentoo-Box mit drei PHP-Versionen installiert (egal aus welchen Gründen):
/usr/bin/php
->/usr/lib64/php5.4/bin/php
/usr/bin/php5.5
->/usr/lib64/php5.5/bin/php
/usr/bin/php5.6
->/usr/lib64/php5.4/bin/php
Ich möchte installierenLaravel framework using composer:
$ composer create-project laravel/laravel --prefer-dist
Dies löst jedoch einen Fehler aus, da Laravel PHP> 5.5.9 und den Standardwert @ benötigphp
dolmetscher ist 5.4. Also gebe ich einen weiteren Befehl aus:
$ /usr/bin/php5.6 /usr/bin/composer create-project laravel/laravel --prefer-dist
Dies bringt mich noch einen Schritt weiter, aber dann einige Post-Install-Befehle von Laravel'scomposer.json
kommt ins Spiel und die Installation stürzt ab.
Das liegt an der Tatsache, dasscomposer.json
Befehle sehen so aus:
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
Wie Sie sehen, wird der "Standard" -Interpreter wieder verwendet!
Jetzt beginnen richtige PHP-Dateien mit folgendem Wortlaut:
#!/usr/bin/env php
Dies ist eine nette Funktion, da sich der PHP-Interpreter auf verschiedenen Systemen an verschiedenen Orten befindet. Leider in diesem Fallenv
er Befehl @ gibt den Pfad zur ersten ausführbaren Datei zurück, die er in @ finde$PATH
Umgebungsvariable.
Wie kann ich möglicherweise die aktuelle Sitzungsumgebung ändern oder welche Art von Trick für die Ausführung des gesamten Laravel-Installationsprozesses ausführen?php
Befehl würde @ aufruf/usr/bin/php5.6
Anstatt von/usr/bin/php
?
Ich will nicht ändern $ PATH Variable oder ändere Dateien wiecomposer
, composer.json
oder Laravels CLI-Dienstprogrammartisan
.
Bearbeiten: gehe auch davon aus, dass ich dies von einem normalen Benutzerkonto aus tun möchte (d. H. Ohne Root-Berechtigungen).