Cum să selectezi versiunea PHP în WP-CLI
Pe un server de dezvoltare am instalate în paralel PHP 5.6 & 7; nginx este configurat cu PHP 5.6. Când tastez "wp" primesc mai multe erori iar la finalul erorilor apare un mesaj care conține următoarele:
Instalarea ta de PHP pare să nu aibă extensia MySQL care este necesară pentru WordPress.
Când tastez wp --info primesc:
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
Se pare că WP-CLI folosește implicit PHP 7, dar eu aș prefera să folosească PHP 5.6.
Mă întrebam dacă există vreo opțiune pe care aș putea să o adaug în fișierul de configurare yml pentru a selecta ce versiune de PHP să folosească?
Dacă aveți nevoie de informații suplimentare, vă rog să îmi spuneți
Pe un sistem unde:
- nu poți schimba legătura simbolică
/usr/bin/php
- nu poți modifica variabila
PATH
pentru a indica o versiune diferită (deoarece executabilele php nu se află în directoare/lib/
separate) WP_CLI_PHP
nu are efect
(cum este cazul meu pe Arch Linux cu php
(8), php7
instalat din repository-ul extra și wp-cli
instalat din AUR. Eu folosesc php7 vs php8 aici, dar această soluție ar trebui să funcționeze pentru orice versiuni.)
... o soluție ar putea fi să apelezi executabilul phar wp
cu cli-ul php7
:
whereis wp
# /usr/bin/wp
php7 /usr/bin/wp cli info
# PHP binary: /usr/bin/php7
# PHP version: 7.4.25
pentru comoditate poți adăuga un alias bash în fișierul tău .bashrc
:
alias wp-php7='php7 /usr/bin/wp'
# sau poți suprascrie complet comanda wp
alias wp='php7 /usr/bin/wp'

Am avut aceeași problemă! Pur și simplu schimbă versiunea PHP.
Pe serverul meu PHP5.6 era implicit pentru Apache, în timp ce CLI era configurat cu PHP7.1. După instalarea WP-CLI, cu comanda wp --info
am obținut acest rezultat:
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
Și când am folosit comanda wp core install am primit eroarea: Instalarea ta PHP pare să nu aibă extensia MySQL care este necesară pentru WordPress. Problema este doar amestecul dintre versiunile diferite: trebuie doar să trecem complet la 5.6 sau 7.1. În cazul meu problema a fost rezolvată simplu scriind în terminal:
sudo update-alternatives --set php /usr/bin/php5.6
Și apoi 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
Problemă rezolvată! WP-CLI a funcționat perfect.

Se pare că trebuie să schimbați versiunea implicită de PHP.
Presupun că php -v
returnează versiunea 7?
Va trebui să modificați PATH-ul.
Consultați acest link: https://stackoverflow.com/questions/31206864/use-different-php-version-cli-executable-for-one-command
Sau acesta: https://make.wordpress.org/cli/handbook/installing/#using-a-custom-php-binary
