it-swarm.com.de

Führen Sie WP-CLI mit aus PHP

Ich habe WP-CLI auf dem Mac installiert und als nächsten Schritt führe ich WP-CLI-Befehle mit dem Skript PHP aus.

Ich habe versucht, es folgendermaßen zu implementieren, aber ich sehe nichts, was passiert. Kann mir jemand bitte meinen Code ansehen und sagen, was ich falsch mache?

Ich verwende Docker und habe WP im Verzeichnis Docker/xamp/www/wordpress_wwws/htdocs installiert

Muss ich den Code PHP im Verzeichnis WP ausführen oder kann er sich in einem beliebigen Verzeichnis auf dem Server befinden?

define( 'WP_CLI_ROOT', '/usr/local/bin/wp' );
include WP_CLI_ROOT . '';
$output = Shell_exec("wp --info");
echo "<pre>".$output."</pre>";

Muss ich wp-cli mit meinen PHP Dateien konfigurieren und einrichten?

Wenn ich wp --info auf meinem Terminal eingebe, werden die folgenden Informationen angezeigt. Neben dem Paketverzeichnis und der globalen Konfiguration wird nichts angezeigt. Muss ich auch Anpassungen an wp-cli vornehmen?

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

Jede Hilfe oder Anregungen wird sehr geschätzt.

Vielen Dank

1
WKL

In Bezug auf die Ausgabe von wp --info ist dies sinnvoll. Wenn Sie keine Pakete installiert haben (siehe wp package --help oder globale Konfigurationsdateien (wp-cli.yml), sind diese Elemente leer.

Sie können den Befehl wp von jedem Ort aus ausführen. Wenn Sie sich in der Ordnerstruktur Ihrer Website befinden, wird die Site, auf der Sie sich befinden, automatisch erkannt, indem Sie im Ordnerbaum nach oben navigieren, bis eine wp-config.php-Datei gefunden wird.

Wenn Sie wp von einem Ort außerhalb der Ordnerstruktur Ihrer Site ausführen, müssen Sie die path wie folgt angeben:

wp --path=/path/to/wordpress/site/ core version

Das Ausführen von Befehlen aus PHP heraus funktioniert für mich wie folgt:

test.php

<?php
$output = Shell_exec("wp --info");
echo "<pre>".$output."</pre>";
?>

wenn ich php test.php über die Befehlszeile ausführe, erhalte ich:

PHP-Binärdatei: /usr/local/Cellar/php71/7.1.1_12/bin/php[.____.‹PHP-Version: 7.1.1 
 Verwendete php.ini: /usr/local/etc/php/7.1 /php.ini[.____.)WP-CLI-Stammverzeichnis: phar: //wp-cli.phar 
 WP-CLI-Anbieterverzeichnis: 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-Projektkonfiguration: 
 WP-CLI-Version: 1.3.0 

Außerdem wird ausführlich über die Ausführung von WP-CLI-Befehlen von PHP im offiziellen GitHub-Repository des Projekts diskutiert. Diese Ausgabe könnte Sie interessieren: https://github.com/wp-cli/wp-cli/issues/1924

5
Shawn H