web-dev-qa-db-ja.com

PHP cronジョブを実行するタイミングを決定するためにphp.iniのタイムゾーン設定が使用されないのはなぜですか?

Bluehostで共有ホスティングを使用し、date.timezoneでデフォルトのphp.iniをUTCに変更しました。すべてがPHPスクリプトで正常に機能し、date()は期待どおりにUTC時間を返します。

この問題はcrontabで発生します。これは、毎週月曜日の00:15 AM UTCに実行されるcronジョブを次の行で入力するためです。

15  0   *   *   1   php /home2/mywebsite/public_html/php/myscript.php

それから、スクリプトは00:15 AM UTC時間ではなく00:15 AM UTC-6に実行されます。このため、月曜日の00:15 AM UTCに実行するには、前日の06:15 PM(日曜日)に設定する必要があります。

15  18  *   *   0   php /home2/mywebsite/public_html/php/myscript.php

私は彼らのサポートに尋ねましたが、彼らはcrontabを手伝うことができないと言いました。彼らのためにそれはちょうど働きます。

共有ホスティングに関連しており、crontabサービスがphp.iniタイムゾーン設定を使用するようにこれを変更する可能性はありますか?

1
Florent

Php.iniのタイムゾーン設定をUTCに変更した後、Bluehost共有ホスティングcronサービスは、-6時間のオフセットがあるMDT(山岳部夏時間)タイムゾーンを使用していることがわかりました。これはおそらく、@ danがコメントで述べているように、共有ホスティングが原因であり、専用のホスティングに切り替える以外に変更するものはありません。

2
Florent