Я запускаю Drush на хосте, на котором установлено несколько версий PHP. По умолчанию, php --version
даст вам 5.2.x, но php53 и php54 также доступны. Так что в моем .bash_profile у меня есть alias php='php53'
( php --version
= 5.3.13), который заставляет Drush работать для некоторых команд.
Тем не менее, я все еще получаю сообщение «Ваша установка PHP командной строки слишком старая. Drush требует как минимум PHP 5.3.2» для некоторых очень полезных команд.
Пара действительно раздражающих примеров:
drush pm-update
сообщит, что он выполнил резервное копирование, а затем успешно обновит все модули и ядро, затем вернет ошибку версии PHP и восстановит все резервные копии. В подробном режиме команда, предшествующая ошибке: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
немедленно вернет ошибку версии PHP
Другие команды, которые я пробовал до сих пор, работают нормально. Я не уверен, почему это так, если Drush иногда использует бинарный файл php53, а иногда нет, или ему просто не удается правильно определить версию, но некоторые важные функции для меня нарушены.
export DRUSH_PHP=php53
. Другим решением будет гарантировать, что php53 появится в вашем PATH перед любым другим PHP при запуске Drush.