Como faço para que / bin / bash execute a versão desejada do php no Composer? [duplicado]
php -v
dá 7,4
which php
dá 7,4
php test.php com o seguinte arquivo de teste:
<?php
echo phpversion();
?>
dá 7,4
Mas quando executo o script de instalação / inicialização do Craft CMS, ele está executando o arquivo Bootup.php com PHP 5.6.
Sob quais circunstâncias presumivelmente um script bash terá como padrão uma versão antiga do php? Suspeito que isso possa ser uma variável de ambiente no Composer. E como faço para executá-lo usando o desejado?
Peço desculpas se estou fazendo a pergunta xy .
Respostas
Ok, então acontece que os arquivos php no composer têm a seguinte estrutura:
#!/usr/bin/env php
Por alguma razão que não entendo totalmente, isso tem o efeito de ignorar ALIAS e procurar o primeiro php em $ PATH.
Então a solução que optei foi encontrar o primeiro php em $ PATH, renomeá-lo como php2 e então usando ln -seu fiz um link nessa pasta chamado php e apontei para a versão binária correta do php, no meu casoln -s /opt/plesk/php/7.4/bin/php php
Composer e Craft agora estão rodando com a versão php desejada.