最近、WordPressを扱うことが多くて、これ管理自動化できないかなぁと思っていたら、 wp-cli なるものを見つけたので、使ってみてました。
Coreやプラグインのバージョンアップだったり、他色々な操作がコマンドでできるようです。なかなか素敵です。
…が、落とし穴が一つ。この wp-cli がphpで書かれたプログラムだということ・・。
php コマンドで処理されるのですが、環境によっては cgi用のphpにパスが通ってたり、バージョンが古かったりと、思い通りには行きません…。
というわけで、ちょっとしたハック。
操作したい環境の Home 以下に、 bin ディレクトリを作って、その中に wp シェスクリプトを書いてあげるようにします…。こうすれば、リモートから wp-cli コマンドを実行した際に、シェルスクリプトが実行され、任意の php で、wp-cli を実行できるようになります。
(~/bin がPATHに指定されている前提。適宜 パスを通すこと)
以下、それぞれ ~/bin 以下に wp(次に示す例)と wp-cli.phar が置いてある想定です。
XServer の場合
#!/bin/sh
exec /usr/bin/php7.2 `dirname $0`/wp-cli.phar "$@"
CoreServer の場合
#!/bin/sh
exec /usr/local/bin/php72cli `dirname $0`/wp-cli.phar "$@"
他の環境でも、ちょっとアレンジしてあげれば行けるかと思います。
コメント