Estou executando o Drush em um host com várias versões do PHP instaladas. Por padrão, php --version
você daria o 5.2.x, mas o php53 e o php54 também estão disponíveis. Portanto, no meu .bash_profile eu tenho alias php='php53'
( php --version
= 5.3.13), o que faz o Drush funcionar para alguns comandos.
No entanto, ainda recebo "Sua instalação do PHP da linha de comando é muito antiga. Drush requer pelo menos mensagens do PHP 5.3.2" para alguns comandos muito úteis.
Alguns casos realmente irritantes:
drush pm-update
relatará que fez backup e, em seguida, atualizou todos os módulos e núcleo com êxito, retornará o erro de versão do PHP e restaurará todos os backups. No modo detalhado, o comando que vem antes do erro é:php /home/[username]/drush/drush.php --backend=2 --verbose --root=/home/[username]/webapps/drup --uri=http://[domain name] pm-updatecode-postupdate 2>&1
drush archive-dump
retornará imediatamente o erro de versão do PHP
Os outros comandos que tentei até agora funcionam bem. Não sei por que isso seria, se o Drush às vezes usa o binário do php53 e outras não, ou se apenas tem problemas para detectar a versão corretamente, mas alguns recursos muito importantes estão quebrados para mim.
export DRUSH_PHP=php53
. Outra solução seria garantir que o php53 apareça no seu PATH antes de qualquer outro PHP ao executar o Drush.source .bash_profile
para efeito imediatoAqui está outra solução:
Crie um link simbólico para a versão desejada do php (php5.4 no meu caso) ln -s / usr / local / bin / php54 ~ / bin / php
precisamos mudar a precedência de ~ / bin em $ PATH para que apareça antes de / usr / local / bin (onde está o intérprete php original) encontre ~ / -name .bash_profile | xargs sed -i / \ $ PATH: \ $ HOME / bin / \ $ HOME / bin: \ $ PATH / g '
recarregar fonte .bash_profile ~ / .bash_profile
proveniente de: http://webiga.com/2013/06/22/change-default-version-of-php-at-webfaction/
fonte
Acabei de encontrar isso depois de atualizar o Drush no Windows. O servidor tem uma versão mais antiga do PHP em execução e não estava pegando a versão do PHP que acompanha o Drush.
Consegui corrigi-lo especificando o caminho para php.exe no arquivo drush.bat, localizado em
c: \ documentos e configurações \ todos os usuários \ dados do aplicativo \ drush \ drush.bat
Acabei de adicionar o caminho completo para o PHP alterando esta linha:
@ php.exe "% ~ dp0drush.php" --php = "php.exe"% * para isto:
@ "c: \ arquivos de programas \ drush \ php \ php.exe" "% ~ dp0drush.php" --php = "php.exe"% *
fonte
O problema para mim foi que o drush não estava funcionando com a versão correta do PHP, acho que o problema era que ele estava usando o PHP 7 e precisava do PHP 5.6. Então eu corri no console:
E o resultado foi (veja o caminho do PHP para 5.6):
Depois fui ao meu arquivo ~ / .bashrc e adicionei uma linha que define o caminho do PHP para drush (e salve):
Atualizei .bashrc com o seguinte (não perca o ponto no início do comando):
E é isso! Espero que ajude!
fonte
Supondo que você instalou o drush com o compositor e deseja executar seu comando usando o php 7 (isso também funciona para envios de nuvem da acquia)
/usr/local/php7.1/bin/php ../vendor/drush/drush/drush.php --php = / usr / local / php7.1 / bin / php [your_drush_command_here]
fonte