WordPressのwp cliが突然PHP Fatal errorを吐いて動かなくなってしまった

WordPressサイト作成塾

WordPressを更新したところ、ansible-playbook実行時に突然以下のエラーを吐くようになってしまいました。

PHP Fatal error:  Call to undefined function apply_filters() in load.php on line 317

原因は、wp-cliが本体のバージョンに比べて古くなったからでした。サーバをAnsibleで管理しており、wp-cliはansible-playbookをすると毎回実行されます。必須というか、裏側でちょくちょく動いているのですが、WordPress本体を更新してもそれに追従してくれないみたいです。

更新作業をしようとしたところ、rootだと危険だよ、ヤバイよ的なメッセージが。"DENGEROUS"とのこと。強行したところ、問題なくansible-playbookを実行できるようになりました。

# wp cli update
Error: YIKES! It looks like you’re running this as root. You probably meant to run this as the user that your WordPress install exists under.

If you REALLY mean to run this as root, we won’t stop you, but just bear in mind that any code on this site will then have full control of your server, making it quite DANGEROUS.

If you’d like to continue as root, please run this again, adding this flag: –allow-root

If you’d like to run it as the user that this site is under, you can run the following to become the respective user:

sudo -u USER -i — wp

# wp cli update –allow-root
You have version 0.23.1. Would you like to update to 0.24.1? [y/n] y
Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.24.1/wp-cli-0.24.1.phar…
New version works. Proceeding to replace.
Success: Updated WP-CLI to 0.24.1

WordPressから指摘された通り、root権限でコードが実行されてしまうためユーザ管理について見直そうと思いますが、取り急ぎ。