
Xserverに便利なcronをGUIで提供される管理画面の中で設定できる。
定期的に自動で指定したコマンドを実行してくれるので、余っているリソースでWordPressとは関係のないbotを動かしたりしていた。
SSH接続時にWP-CLIを有効にし実行も確認した。
WordPress用にいざcron設定してみたところ、
「Your server is running PHP version 5.4.16 but WordPress 6.5.5 requires at least 7.0.0.」
というエラーが。
管理画面上のphpのバージョンは8以上あるし、SSH接続でphp -vをしてみてもwp –infoコマンドを行って確認してみるも8以上はある。
公式には
(例)abc.phpをPHP 7.2 で実行する場合
/usr/bin/php7.2 /home/サーバーID/独自ドメイン名/public_html/abc.php
https://www.xserver.ne.jp/manual/man_program_cron.php
とあるので一応phpの後ろに仮に今回はphp8.0.3と管理画面で設定したバージョンを入れたがこれもそんなディレクトリがないとのことでエラーになる。
結論はphp8.0といれるのが正しい様子。そして
wpコマンドも単体ではうごかず、SSHでwhich wpとすると/usr/bin/wpとかえってくるので。
/usr/bin/php8.0 /usr/bin/wp
とphpバージョンとwpコマンドのパスを指定する必要がある。
wpコマンドもパスを指定していないと「Could not open input file: wp」と返ってきた。
これで一応動くが、注意が必要なのはPHPとWP-CLIのバージョンを一致させてないと、PHPのデプリケーション警告が返ってきてしまうので合わせておくのが良い。
・phpバージョンの指定の仕方
・wpコマンドのパス
・phpとwp-cliのバージョンをあわせる。
と動いた。
参考としてはSSH接続時にコマンドで、
which php, which wpでパスを調べたり
wp –infoでWP-CLIにまつわる設定情報を参考にすると上記の値を変えて設定できるはず。
php -vで出てくるバージョンはXserverの管理画面からのcron設定では参考にならなかった。
以上自分用メモもし他の方にも参考になれば。