J'exécute Drush sur un hôte sur lequel plusieurs versions de PHP sont installées. Par défaut, php --version
vous donnerait 5.2.x, mais php53 et php54 sont également disponibles. Donc, dans mon .bash_profile, j'ai alias php='php53'
( php --version
= 5.3.13), ce qui fait fonctionner Drush pour certaines commandes.
Cependant, je reçois toujours des messages "Votre installation PHP en ligne de commande est trop ancienne. Drush nécessite au moins PHP 5.3.2" pour certaines commandes très utiles.
Quelques exemples vraiment ennuyeux:
drush pm-update
signalera qu'il a sauvegardé puis mis à jour tous les modules et le noyau avec succès, puis renvoie l'erreur de version PHP et restaure toutes les sauvegardes. En mode verbeux, la commande qui précède l'erreur est: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
retournera immédiatement l'erreur de version PHP
Les autres commandes que j'ai essayées jusqu'à présent fonctionnent bien. Je ne sais pas pourquoi ce serait, si Drush utilise parfois le binaire php53, et d'autres fois pas, ou s'il a juste du mal à détecter la version correctement, mais certaines fonctionnalités très importantes sont cassées pour moi.
export DRUSH_PHP=php53
. Une autre solution serait de s'assurer que php53 apparaît dans votre PATH avant tout autre PHP lors de l'exécution de Drush.