При запуске drush updb получаем ошибку версии PHP

Главные вкладки

ivnish 17 декабря 2021 в 12:26
2

На некоторых хостингах (в частности timeweb) версия PHP для консоли отличается от версии PHP для сайта. В частности для сайта установлена версия 7.4, а для консоли используется 7.1

Разработчики и владельцы сайтов, которые пользуются drush, знают, что можно указать версию PHP перед командой drush:

/opt/php74/bin/php vendor/bin/drush updb

До какой-то версии drush это прекрасно работало, а потом именно при запуске команды updb я стал получать ошибку слишком низкой версии PHP

Я отложил это вопрос до лучших времен, а сегодня проблема была решена.

Нужно в файл ~/.bashrc написать следующее (если этого файла нет, его нужно создать)

PATH=/opt/php74/bin:$PATH

Как узнать что писать? Путь к бинарнику PHP был таким /opt/php74/bin/php, значит путь к директории будет /opt/php74/bin. Вот его и пишем.

Запускаем bash -l или перезапускаем сессию SSH и проверяем. Теперь и

/opt/php74/bin/php vendor/bin/drush updb

работает и даже

vendor/bin/drush updb

Автор

ivnish Drupal FullStack Developer

Комментарии

Аватар пользователя bsyomov bsyomov 31 января 2022 в 15:12
1

Это работает только если использовались стандартные механизмы установки нескольких версий php пакетным менеджером. Не будет работать в разных панельках например. И конечно не будет на шеред хостингах.