エックスサーバーに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/

 

うん。何かメッセージは出たけど、ちゃんとダウンロードされてる。

 

wphelpを見る。

 

$ wp help

 

何かメッセージが出て見れない。

 

先人のお知恵を拝借すると、「php-cli 経由で呼び出すようにするとうまくいくよ」との事だったのですが…

 

 

また別のエラーが。。ダメみたい。

 

ここでギブアップ。。。

 

ここまでの感想

今回の作業、自分のレベルでは十分理解できないまま、、突撃している感が否めません。。

そもそも、WP-CLIを全く実践出来ていない状況で、本番環境にインストールしようとする私は馬鹿か…。。

 

VirualBox+Vagrant+VCCWというWordPressのテスト環境構築ツールで、

WP-CLIも使えるみたいなので、導入を検討してみたいと思います。

You may also like

One comment

Leave a comment