私は周りを検索しましたが、探しているものを正確に見つけることができませんでした。
私のサイトの管理者が毎日の Cron ジョブ スクリプトを実行する時間を選択できる PHP 設定ページがあります。私crontab
の場合、スクリプトを 1 時間ごとに実行しています。スクリプトが実行されると、現在の時間が設定ページで要求された時間と等しいかどうかがチェックされます。
私がこのようにした理由はcrontab
、主題について多くのテストと調査を行ったにもかかわらず、PHP を介してファイルを編集する方法を絶対に理解できなかったためです。これを行う方法を理解するのを手伝ってくれればボーナスポイント。
この質問を作成する本当の理由は、Unix サーバーの `time に問題があるためです。私のローカルホスト マシン (IIS) では、Cron スクリプトが想定どおりに 1 時間ごとに実行されますが、すべてを Unix Amazon マシンに移動すると、時間は正確に 5 時間ずれます。
Cron ジョブは想定どおり 1 時間ごとに実行されますが、PHP スクリプトが現在の時刻 ( を使用) が設定時刻と一致するかどうかを確認すると、date("G")
意図したとおりに動作しません。確かに、最終的には正確に 5 時間遅れて処理されます。
私が中部時間帯に住んでいるのは偶然ではないと思います.5時間ずれているので、それに関連しているとほぼ確信しています.
時間を常に 5 時間オフセットする回避策を書くこともできますが、これにより日付フィールドが不正確になり (私が思うに)、少し無理があります。多くの人がこれを読んでいて、答えがわからないのはばかだと思っていると確信しているので、SOで聞いてみたいと思います。
もう一つ:
スクリプトにこのコード行があります。他に共有する必要があることはありますか?
date_default_timezone_set('America/Chicago');
編集:あなたの「修正」が何であるかについての説明をいただければ幸いです。