Execută WP-CLI folosind PHP
Am instalat WP-CLI pe Mac și următorul meu pas este să execut comenzi WP-CLI folosind un script PHP.
Am încercat să implementez în felul următor, dar nu se întâmplă nimic. Poate cineva să verifice codul meu și să-mi spună ce greșesc?
Folosesc Docker și am WordPress instalat în directorul Docker/xamp/www/wordpress_wwws/htdocs
Trebuie să execut codul PHP din interiorul directorului WP sau poate fi în orice director de pe server?
define( 'WP_CLI_ROOT', '/usr/local/bin/wp' );
include WP_CLI_ROOT . '';
$output = shell_exec("wp --info");
echo "<pre>".$output."</pre>";
Trebuie să configurez și să setez wp-cli cu fișierele mele PHP?
De asemenea, când introduc wp --info în terminal, apar următoarele informații. Nu apare nimic în afară de Package Dir și global config. Trebuie să fac ajustări și la wp-cli?
MAC-00343:htdocs mike$ wp --info
PHP binary: /usr/bin/php
PHP version: 5.6.30
php.ini used:
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /Users/mike/Docker/xamp/www/wordpress_wwws/htdocs
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.3.0
Orice ajutor sau sugestii ar fi foarte apreciate.
Mulțumesc
În ceea ce privește rezultatul comenzii wp --info
, este logic. Dacă nu aveți niciun pachet instalat (consultați wp package --help
) sau fișiere de configurare globale (wp-cli.yml
), atunci acele elemente vor fi goale.
Puteți rula comanda wp
din orice locație. Dacă vă aflați oriunde în structura de dosare a site-ului dvs., aceasta va detecta automat site-ul pe care îl utilizați navigând în sus prin arborele de dosare până când găsește un fișier wp-config.php.
Dacă rulați comanda wp dintr-o locație din afara structurii de dosare a site-ului dvs., va trebui să specificați path
, astfel:
wp --path=/calea/catre/site/wordpress/ core version
În ceea ce privește executarea comenzilor din PHP, următorul exemplu funcționează pentru mine:
test.php
<?php
$output = shell_exec("wp --info");
echo "<pre>".$output."</pre>";
?>
rulând php test.php
din linia de comandă, obțin:
PHP binary: /usr/local/Cellar/php71/7.1.1_12/bin/php PHP version: 7.1.1 php.ini used: /usr/local/etc/php/7.1/php.ini WP-CLI root dir: phar://wp-cli.phar WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /Users/shawnhooper WP-CLI packages dir: /Users/shawnhooper/.wp-cli/packages/ WP-CLI global config: WP-CLI project config: WP-CLI version: 1.3.0
De asemenea, există o discuție destul de amplă despre rularea comenzilor WP-CLI din PHP în depozitul oficial GitHub al proiectului. Acest subiect v-ar putea interesa: https://github.com/wp-cli/wp-cli/issues/1924
