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