Alias não funciona no script com #! / usr / bin / env php

5

Eu tenho alguns scripts PHP que estão começando com #!/usr/bin/env php . O interpretador padrão é o PHP 4.4, mas os scripts precisam do PHP 5.3, então criei um alias em ~/.bashrc :

alias php="/usr/local/bin/php5-53LATEST-CLI"

Assim, chamar php -v me mostra 5.3, mas #!/usr/bin/env php ainda usa 4.4. Eu não vou mudar os scripts. Então, como posso obter o PHP 5.3 com #!/usr/bin/env php ?

    
por witrin 05.03.2014 / 12:10

1 resposta

9

/usr/bin/env php procura por um executável chamado php no atual $PATH ; ele não presta atenção a aliases, funções shell, etc. Se você quer que ele execute php v5.3, você tem que colocar essa versão em um diretório com o nome php , e colocar esse diretório no seu PATH em algum lugar antes o diretório que contém a versão 4.4. Talvez algo assim:

mkdir /usr/local/bin/php-overrides
ln -s /usr/local/bin/php5-53LATEST-CLI /usr/local/bin/php-overrides/php

... depois adicione

PATH="/usr/local/bin/php-overrides:$PATH"

ao seu ~/.bash_profile (ou outro script de inicialização apropriado).

    
por 05.03.2014 / 22:12

Tags