エックスサーバーのCron設定から対象WordPressサイトの “ゴミ箱を空にする” & “リビジョン削除” を行うためのWP-CLIコマンドを登録したのですが、通知メールの内容を見ると
Your server is running PHP version 5.4.16 but WordPress 5.7.2 requires at least 5.6.20.
と表示されており実行することが出来ませんでした。PHPのバージョンは変更しているので問題ないはずでしたが、Cronで実行した際のPHPのバージョンなど確認からすることにしました。
WP-CLIの状況確認
Cron設定のコマンドに wp --info
と入力して返される情報を確認することにしました。
確認コマンド
以下、2つのコマンドで確認しました。
wp --info
cd /home/xxx && wp --info
メール通知内容確認
メールで届いた内容を確認するとPHPのバージョンは 5.4.16 でWP-CLIのバージョンも 2.4.0 と共に私がインストールしたバージョンとは異なる情報が返ってきました。
OS: Linux sv10732.xserver.jp 5.4.0-73-generic #82~18.04.1-Ubuntu SMP Fri Apr 16 15:10:02 UTC 2021 x86_64 Shell: /bin/sh PHP binary: /usr/bin/php PHP version: 5.4.16 php.ini used: /etc/php.ini WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /home/xxx WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.4.0
PHPとWP-CLIのパスと指定して確認
意図していた結果が返って来ませんでしたので、次はPHPとWP-CLIをフルパスで指定して確認しました。
確認コマンド
/opt/php-7.4.13/bin/php /home/xxx/bin/wp-cli.phar --info
メール通知内容確認
今回は意図したPHPとWP-CLIのバージョン情報が返ってきましたので、フルパスで指定して実行するようにすれば大丈夫そうでした。
OS: Linux 5.4.0-73-generic #82~18.04.1-Ubuntu SMP Fri Apr 16 15:10:02 UTC 2021 x86_64 Shell: /bin/sh PHP binary: /opt/php-7.4.13/bin/php PHP version: 7.4.13 php.ini used: /opt/php-7.4.13/etc/php.ini MySQL binary: /usr/bin/mysql MySQL version: mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1 SQL modes: WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /home/xxx WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.5.0
投稿データのID取得確認
最後に投稿データのIDが取得出来るか確認してみました。
確認コマンド
/opt/php-7.4.13/bin/php /home/xxx/bin/wp-cli.phar post list --post_type=post --format=ids --path=/home/xxx/example.com/public_html/wp
メール通知内容確認
3002 3004 3011… と投稿データのIDが意図した通り取得出来ましたので問題なさそうです。
動作環境情報
"エックスサーバー" x10 "PHP" 7.4.13 "MySQL" 5.7 "WordPress" 5.7.2 "WP-CLI" 2.4.0
コメント