Use executável CLI da versão PHP diferente para um comando

Então, eu tenho o Gentoo box com três versões do PHP instaladas (não importa os motivos):

/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

Eu quero instalarFramework Laravel usando o compositor:

$ composer create-project laravel/laravel --prefer-dist

No entanto, isso gera um erro porque o Laravel requer PHP> 5.5.9 e o padrãophp intérprete é5.4. Então, eu emito outro comando:

$ /usr/bin/php5.6 /usr/bin/composer create-project laravel/laravel --prefer-dist

Isso me leva um passo adiante, mas alguns comandos de pós-instalação do Laravelcomposer.json entra em jogo e a instalação falha.

Isso se deve ao fato de quecomposer.json comandos são assim:

"post-install-cmd": [
    "php artisan clear-compiled",
    "php artisan optimize"
],

Como você pode ver, o intérprete "padrão" é usado novamente!

Agora, os arquivos PHP adequados começam com o seguinte shebang:

#!/usr/bin/env php

Esse é um recurso interessante, pois o intérprete PHP pode ser encontrado em diferentes locais em diferentes sistemas. Infelizmente, neste casoenv O comando retorna o caminho para o primeiro executável encontrado em$PATH variável ambiental.

Como eu poderia alterar o ambiente de sessão atual ou que tipo de truque executar para a execução de todo o processo de instalação do Laravelphp comando invocaria/usr/bin/php5.6 ao invés de/usr/bin/php?

Não quero mudarVariável $ PATH ou modificar arquivos comocomposer, composer.json ou o utilitário CLI do Laravelartisan.

Editar: também suponha que eu queira fazer isso a partir de uma conta de usuário comum (ou seja, sem permissões de root).

questionAnswers(7)

yourAnswerToTheQuestion