WP-CLI - Selezione della versione PHP
Su un server di sviluppo ho una co-installazione di PHP 5.6 & 7; nginx è configurato con PHP 5.6. Quando digito "wp" restituisce diversi errori e alla fine del messaggio di errore c'è un contenuto che dice:
La tua installazione PHP sembra mancare dell'estensione MySQL che è richiesta da WordPress.
Digitando wp --info restituisce:
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 sembra utilizzare PHP 7 come default, preferirei che utilizzasse PHP 5.6.
Quindi mi chiedevo se ci fosse un'opzione da aggiungere al file di configurazione yml per selezionare quale versione di PHP usare?
Se hai bisogno di ulteriori informazioni, fammi sapere
Su un sistema dove
- non puoi modificare il symlink
/usr/bin/php
- non puoi cambiare il
PATH
per puntare a una versione diversa (perché gli eseguibili php non risiedono in directory/lib/
separate) WP_CLI_PHP
non ha effetto
(come il mio Arch Linux con php
(8), php7
installato da extra e wp-cli
installato da AUR. Sto usando php7 vs php8 qui, ma questo dovrebbe funzionare per qualsiasi versione.)
...una soluzione alternativa potrebbe essere chiamare l'eseguibile phar wp
con la CLI di php7
:
whereis wp
# /usr/bin/wp
php7 /usr/bin/wp cli info
# PHP binary: /usr/bin/php7
# PHP version: 7.4.25
per comodità puoi aggiungere un alias bash nel tuo .bashrc
:
alias wp-php7='php7 /usr/bin/wp'
# oppure sovrascrivere wp completamente
alias wp='php7 /usr/bin/wp'

Ho avuto lo stesso problema! Basta cambiare la versione di PHP.
Sul mio server PHP5.6 era impostato come predefinito per Apache, mentre la CLI era configurata con PHP7.1. Dopo aver installato WP-CLI, con wp --info
ho ottenuto questo risultato:
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
E quando ho usato il comando wp core install ho ricevuto l'errore: La tua installazione PHP sembra non avere l'estensione MySQL che è richiesta da WordPress. Il problema è semplicemente il mix tra le diverse versioni: dobbiamo semplicemente passare completamente a 5.6 o 7.1. Nel mio caso il problema è stato risolto semplicemente scrivendo sul terminale:
sudo update-alternatives --set php /usr/bin/php5.6
E poi 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
Problema risolto! WP-CLI ha funzionato perfettamente.

Sembra che tu debba cambiare la versione predefinita di PHP.
Presumo che php -v
restituisca la versione 7?
Dovrai modificare il PATH.
Guarda questo: https://stackoverflow.com/questions/31206864/use-different-php-version-cli-executable-for-one-command
Oppure questo: https://make.wordpress.org/cli/handbook/installing/#using-a-custom-php-binary
