Я запускаю 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.source .bash_profile
для немедленного эффектаВот еще одно решение:
Создайте символическую ссылку на нужную версию php (в моем случае php5.4) ln -s / usr / local / bin / php54 ~ / bin / php
нам нужно изменить приоритет ~ / bin в $ PATH так, чтобы он появился перед / usr / local / bin (где находится оригинальный интерпретатор php) find ~ / -name .bash_profile | xargs sed -i 's / \ $ PATH: \ $ HOME / bin / \ $ HOME / bin: \ $ PATH / g'
перезагрузите источник .bash_profile ~ / .bash_profile
Источник: http://webiga.com/2013/06/22/change-default-version-of-php-at-webfaction/
источник
Я только столкнулся с этим после обновления Drush на Windows. На сервере запущена более старая версия PHP, и он не брал версию PHP, поставляемую с Drush.
Мне удалось это исправить, указав путь к php.exe в файле drush.bat, расположенном по адресу
c: \ документы и настройки \ все пользователи \ данные приложения \ drush \ drush.bat
Я просто добавил полный путь к PHP, изменив эту строку:
@ php.exe "% ~ dp0drush.php" --php = "php.exe"% * к этому:
@ "c: \ program files \ drush \ php \ php.exe" "% ~ dp0drush.php" --php = "php.exe"% *
источник
Проблема для меня заключалась в том, что drush не работал с правильной версией PHP, я думаю, проблема заключалась в том, что он использовал PHP 7, и мне нужен PHP 5.6. Итак, я запустил в консоли:
И результат был (см. Путь PHP для 5.6):
Затем я перешел к своему файлу ~ / .bashrc и добавил одну строку, которая задает путь PHP для drush (и сохранения):
Затем я обновил .bashrc следующим (не пропустите точку в начале команды):
И это все! Надеюсь, это поможет!
источник
Предполагая, что вы установили drush с помощью composer и хотите запустить свою команду, используя php 7 (это работает и для облачных сред acquia)
/usr/local/php7.1/bin/php ../vendor/drush/drush/drush.php --php = / usr / local / php7.1 / bin / php [your_drush_command_here]
источник