エックスサーバーにWP-CLIをインストールする話。失敗?。
こんにちは!
サイト管理人のYosukeです。
先日「WordPress プラグイン開発のバイブル」という書籍を購入しました。
かなり専門的な内容で苦戦中なのですが、その中で、WP-CLI というコマンドラインを使用して、
WordPressを操作する方法が掲載されていたので、現在使用中のエックスサーバーに導入してみました。
結論から言うと、半分うまくいってない感じなので、部分的に参考にしていただけたらと思います。
WP-CLI の導入前にやっておく事
SSH設定
エックスサーバーの設定マニュアルに沿って完了しておきます。
ターミナルエミュレータは「Tera Term Pro」がオススメのようですが、
自分はCygwinを使っています。ssh接続出来るものなら何でも良いです。
WP-CLI の導入
WP-CLIのオフィシャルサイトにインストール方法が書いてありますが、
今回インストール先がエックスサーバーなのでマニュアルどおりにコマンドを打ち込んで…というわけにはいきません。
ターミナルエミュレーターでエックスサーバーにssh接続。
マニュアルのcurlではなくwgetでダウンロードしました。
WP-CLI を ~/bin/ にインストールしてみます。
$ wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -P ~/bin
ダウンロードした WP-CLI の動作を確認します。
$ php7.0 ~/bin/wp-cli.phar --info
php ではなく php7.0 としているのは、エックスサーバーの仕様によるものです。
(php だと、phpのバージョンが5.1.3らしく WP-CLI が動作しません。)
使えるPHPのバージョンについて詳しくはエックスサーバーホームページを確認して下さい。
実行権限(x)を付けておきます。
$ chmod +x ~/bin/wp-cli.phar
次に WP-CLI オフィシャルサイトのマニュアルでは /usr/local/bin/wp にファイルを置くように指示してありますが、
今回はエックスサーバーなんで、wpコマンドを使うためには、.bashrcにエイリアスを張ってやる必要があります。
.bashrc の最下行にalias wp='php7.0 ~/bin/wp-cli.phar'を追加するためにechoコマンドで追記すると、
下記のようになります。
$ echo -e "\nalias wp='php7.0 ~/bin/wp-cli.phar'" >> .bashrc
.bashrcに追記したエイリアスを適用するために、いったんssh接続から退室します。
$ exit
もう一度エックスサーバーにsshで入室して、wpコマンドが使えるか確認。
$ wp --info
これでWP-CLIの設定が(一応?)完了しました。
.bashrcの記述をミスった場合
そもそも、.bashrcとは何ぞや!?
.bashrcや.bash_profileをいじったりするうちに、
ssh接続時に(接続できるけど)エラーが出てしまう状況に陥ってしまいました。
その場合、エラーが出なくなる元通りの状態に戻す方法として、
いったんssh接続から退室し、
エックスサーバーのファイルマネージャから入室して、.bashrcと.bash_profileを削除。
(何か記述していたら保存しておいて下さいね。消したら復元出来ません。)
エックスサーバーのサーバーパネルから入室して、SSH設定の項目より、状態をONからOFFに変更して、再度ONにします。
そして、ターミナルエミュレータからエックスサーバーにssh接続します。
そうすると、自動的に.bashrcと.bash_profileが(デフォルト状態で)復活します。
エラーも出なくなり、元通りになったはずです。
PHP Warning: fwrite()… なにこれ?
ここまでの設定で、wpコマンドが使えるようになりました。
ただし、毎回PHP Warning: fwrite()…というメッセージ(エラー?)が出力されています。
///home/[ user ]/bin/wp-cli.phar/php/WP_CLI/Loggers/Base.php on line 47 PHP Warning: fwrite() expects parameter 1 to be resource, string given in phar:///home/[ user ]/bin/wp-cli.phar/php/WP_CLI/Loggers/Base.php on line 47
とりあえずコマンドは動いてくれます。例えば…
wpで、~/test/www/にWordPress日本語版をダウンロード。
$ wp core download --locale=ja --path=/home/[ user ]/test/www/
うん。何かメッセージは出たけど、ちゃんとダウンロードされてる。
wpでhelpを見る。
$ wp help
何かメッセージが出て見れない。
先人のお知恵を拝借すると、「php-cli 経由で呼び出すようにするとうまくいくよ」との事だったのですが…
また別のエラーが。。ダメみたい。
ここでギブアップ。。。
ここまでの感想
今回の作業、自分のレベルでは十分理解できないまま、、突撃している感が否めません。。
そもそも、WP-CLIを全く実践出来ていない状況で、本番環境にインストールしようとする私は馬鹿か…。。
VirualBox+Vagrant+VCCWというWordPressのテスト環境構築ツールで、
WP-CLIも使えるみたいなので、導入を検討してみたいと思います。









One comment