私はWP-CLIをMacにインストールしました。そして次のステップはPHPスクリプトを使ってWP-CLIコマンドを実行することです。
次のように実装しようとしましたが、何も起こりません。誰かが私のコードを見て、私が間違っていることを教えてもらえますか?
Dockerを使用していて、WPがDocker/xamp/www/wordpress_wwws/htdocs
ディレクトリにインストールされています。
PHPディレクトリ内からWPコードを実行する必要がありますか。
define( 'WP_CLI_ROOT', '/usr/local/bin/wp' );
include WP_CLI_ROOT . '';
$output = Shell_exec("wp --info");
echo "<pre>".$output."</pre>";
PHPファイルを使用してwp-cliを設定および設定する必要がありますか?
また、私の端末でwp --infoと入力すると、以下の情報が表示されます。 Package Dirとグローバル設定以外には何も表示されません。 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
任意の助けや提案は大歓迎です。
ありがとう
wp --info
の出力に関しては、それは理にかなっています。パッケージがインストールされていない場合(wp package --help
またはグローバル設定ファイル(wp-cli.yml
)を参照)、それらの項目は空白になります。
wp
コマンドは任意の場所から実行できます。 Webサイトのフォルダ構造内のどこかにいる場合は、wp-config.phpファイルが見つかるまでフォルダツリーを上に移動して、自分のサイトを自動的に検出します。
サイトのフォルダ構造の外側の場所からwpを実行する場合は、次のようにpath
を指定する必要があります。
wp --path=/path/to/wordpress/site/ core version
PHP内からコマンドを実行することに関しては、これは私のために働きます:
test.php
<?php
$output = Shell_exec("wp --info");
echo "<pre>".$output."</pre>";
?>
コマンドラインからphp test.php
を実行すると、次のようになります。
PHPバイナリ:/usr/local/Cellar/php71/7.1.1_12/bin/php PHPのバージョン:7.1.1 php.ini使用:/usr/local/etc/php/7.1 /php.ini WP-CLIルートディレクトリ:phar://wp-cli.phar WP-CLIベンダーディレクトリ:phar://wp-cli.phar/vendor WP_CLI pharパス:/Users/shawnhooper WP-CLIパッケージディレクトリ:/Users/shawnhooper/.wp-cli/packages/ WP-CLIグローバル設定: WP- CLIプロジェクト構成: WP-CLIバージョン:1.3.0
プロジェクトの公式GitHubレポジトリのPHPからWP-CLIコマンドを実行することについても、かなり長い議論があります。この問題に興味があるかもしれません: https://github.com/wp-cli/wp-cli/issues/1924