Cum să selectezi versiunea PHP în WP-CLI

27 oct. 2016, 17:20:51
Vizualizări: 17.6K
Voturi: 17

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

2
Comentarii

Până când WP CLI încarcă fișierul yml, acesta rulează deja în interiorul PHP, răspunsul la această întrebare va depinde de mediul tău, sistemul de operare și modul în care PHP este instalat, aruncă o privire la lucruri precum PHPBrew etc

Tom J Nowell Tom J Nowell
27 oct. 2016 18:03:59

Ca o observație laterală, ar trebui să ai mysqli instalat, o astfel de extensie este disponibilă și pentru PHP7, deși extensia mysql nu este suportată și ar trebui evitată. De asemenea, lucrează întotdeauna de la prima eroare/avertisment în jos, a doua eroare poate apărea doar dacă prima apare

Tom J Nowell Tom J Nowell
27 oct. 2016 18:04:55
Toate răspunsurile la întrebare 4
2
19

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'
25 nov. 2021 12:39:42
Comentarii

o soluție strălucită

Abilogos Abilogos
5 mai 2022 16:16:43

aceasta este de fapt cea mai bună soluție pentru cazul meu de utilizare.. Am avut utilizatori virtuali (niciun fișier nu putea fi scris în directorul principal) - Mulțumesc @kubi

Kresimir Pendic Kresimir Pendic
8 nov. 2023 00:27:43
0
13

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.

16 mai 2017 15:14:06
1
10

Puteți seta binara PHP pe care o folosește WP-CLI prin setarea unei variabile de mediu în shell-ul Linux.

export WP_CLI_PHP=/calea/catre/php5.6
27 oct. 2016 17:48:55
Comentarii

Conform documentației, acest lucru funcționează doar dacă ai instalat wp-cli prin git sau composer. Nu am reușit să-l fac să funcționeze cu wp-cli instalat prin yum pe CentOS.

cstrouse cstrouse
1 apr. 2020 01:16:36
0

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

27 oct. 2016 17:45:54