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