ヘテムルサーバでCakePHPのCronを実行する方法


ヘテムルサーバでCakePHPのCronを実行する方法を紹介します。
なお、CakePHPは2系での紹介となります。

ヘテムルサーバではCronを設定することで利用可能ですが、CakePHPのCronを実行するルールとなる「APP」のパスやパラメータをサーバ設定画面(以下「コンパネ」)で設定すると

/usr/bin/php: bad interpreter: No such file or directory

と、このようなエラーになってしまいます。
どうやら、パラメータを渡すようなCron実行が出来ない仕組みのよう。。。

そこで、実際に解決する方法の紹介です。

①「cron.sh」ファイルを作成

まずはシェルスクリプトファイルを作成します。
ここに

#!/bin/sh
/usr/local/php7.1/bin/php (APPのフルパス)/Console/cake.php -app (APPのフルパス) cron (実行名)

上記のスクリプトを保存して、サーバの任意の場所にアスキーモードでアップロードします。

②パーミッションの変更

アップロードしたファイルのパーミッションを「700」に変更します。

③ヘテムルのコンパネでCron設定

アップロードしたファイルをCronの実行ファイルとして指定して設定を行う。

以上でCakePHPでもCronの実行が可能になります。
パラメータ渡しが出来ない旨が記載されていれば、迷わず済んだのかもしれない。。。

スポンサーリンク

Filed under: CakePHPTagged with: , ,