WP-CLI - Выбор версии PHP
На сервере разработки у меня установлены PHP 5.6 и 7; nginx сконфигурирован для работы с PHP 5.6. При вводе команды "wp" появляются несколько ошибок, и в конце сообщения об ошибке содержится следующее:
Похоже, что в вашей установке PHP отсутствует расширение MySQL, необходимое для работы WordPress.
Ввод команды wp --info возвращает:
PHP binary: /usr/bin/php7.0
PHP version: 7.0.10-2+deb.sury.org~precise+1
php.ini used: /etc/php/7.0/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI packages dir:
WP-CLI global config: /srv/www/wp-cli.yml
WP-CLI project config:
WP-CLI version: 0.26.0-alpha-5672b63
WP-CLI по умолчанию использует PHP 7, а я хотел бы, чтобы он работал с PHP 5.6.
Можно ли добавить какую-то опцию в конфигурационный yml-файл для выбора версии PHP?
Если вам нужна дополнительная информация, дайте мне знать.
В системе, где:
- нельзя изменить символьную ссылку
/usr/bin/php
- нельзя изменить переменную
PATH
, чтобы указать на другую версию (потому что исполняемые файлы php не находятся в отдельных директориях/lib/
) WP_CLI_PHP
не имеет эффекта
(например, в моей Arch Linux с установленными php
(8), php7
из репозитория extra и wp-cli
, установленным из AUR. Я использую php7 вместо php8 здесь, но это должно работать для любых версий.)
…обходным решением может быть вызов phar-исполняемого файла wp
с помощью php7
cli:
whereis wp
# /usr/bin/wp
php7 /usr/bin/wp cli info
# PHP binary: /usr/bin/php7
# PHP version: 7.4.25
для удобства можно добавить алиас в ваш .bashrc
:
alias wp-php7='php7 /usr/bin/wp'
# или переопределить wp полностью
alias wp='php7 /usr/bin/wp'

У меня была та же проблема! Просто смените версию PHP.
На моем сервере PHP5.6 был установлен по умолчанию для Apache, в то время как CLI был настроен на PHP7.1. После установки WP-CLI, команда wp --info
выдала такой результат:
PHP binary: /usr/bin/php7.1
PHP version: 7.1.5-1+deb.sury.org~xenial+1
php.ini used: /etc/php/7.1/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar
И когда я использовал команду wp core install, я получил ошибку: "Your PHP installation appears to be missing the MySQL extension which is required by WordPress." (В вашей установке PHP, похоже, отсутствует расширение MySQL, которое требуется для WordPress). Проблема заключается именно в смешении разных версий: нам нужно просто полностью переключиться либо на 5.6, либо на 7.1. В моем случае проблема была решена простой командой в терминале:
sudo update-alternatives --set php /usr/bin/php5.6
И затем wp --info
PHP binary: /usr/bin/php5.6
PHP version: 5.6.30-10+deb.sury.org~xenial+2
php.ini used: /etc/php/5.6/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar
Проблема решена! WP-CLI заработал как часы.

Похоже, вам нужно изменить версию PHP по умолчанию.
Предполагаю, что команда php -v
возвращает версию 7?
Вам потребуется изменить переменную PATH.
Посмотрите это: https://stackoverflow.com/questions/31206864/use-different-php-version-cli-executable-for-one-command
Или это: https://make.wordpress.org/cli/handbook/installing/#using-a-custom-php-binary
