PHP7.2は曲者!?
以下の記事でも書いたが、PHP7.2でCakePHP3を動かそうとすると思わぬ事態に遭遇する。
https://qiita.com/21century_girl_/items/5be2606b3bfa98514952
元はといえば、サーバー移行の依頼を受けたため、「どうせならPHPのバージョンを上げるか」と軽い気持ちで、PHP7.1→PHP7.2にバージョンアップしたのです。
phpコマンドが動かん…
php -v
いつものこれ。
phpのバージョンを確認するコマンドですが、これが
command not found
と出て動かないわけですな。
php72 -v
これで動きます。
一応、簡易的な対応としては以下の記事に載せているのでここでは割愛
https://qiita.com/21century_girl_/items/5be2606b3bfa98514952
cronに設定したshellが動かん..
/etc/cron.dに以下のように設定したのです。
* * * * * root /var/www/html/***/bin/cake test
通常のcron設定ですね。
上記の場合は、cakephpのshell内のTestShell.phpを動かすといったイメージです。
しかし以下のエラーが。。
Failed to find a CLI version of PHP; falling back to system standard php executable /var/www/html/service/bin/cake: line 72: exec: php: not found
どうやら該当のファイルの72行目を見ると、phpコマンドを叩いてる模様…
for TESTEXEC in php php-cli /usr/local/bin/php
ただし、phpコマンドが効かない状態なので、このエラーが出ているわけです。
ではどうするか?
cronファイルに環境変数を設定
以下のように設定
PATH=/usr/local/bin:/sbin:/bin:/usr/bin:/usr/sbin/sendmail:/opt/remi/php72/root/usr/bin:/opt/remi/php72/root/usr/sbin
* * * * * root /var/www/html/***/bin/cake test
これでphpコマンドも利用可能になり、cakephpのshellも実行されました。