LoginSignup
1
2

More than 3 years have passed since last update.

CakePHP3をPHP7.2で動かすときは気をつけろ

Posted at

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も実行されました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2