@AlexSer

Как настроить временную зону в Crontab + Php?

Создал задачу в Cron на обновление записей ровно в 6.00 АМ:
0 6-8 * * * php $HOME/yii plan-robot/robot-start
В контроллере
$history->date_create=date("Y-m-d H:i:s");
  $history->save();

Время в Apache2/php.ini поставил зону Moscow.
Но все равно при запуске задачи в бд запись ставиться 03:00:00
Понимаю что где то время ставиться по гринвичу... вопрос что влияет и как исправить?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
При запуске кроном скрипт запускается через CLI и значит изменения в Apache2/php.ini не будут использоваться.
Обычно есть отдельно файл cli/php.ini, в нём и выставляйте зону.

Так же зону можно глобально выставить в самом скрипте
date_default_timezone_set('Europe/Moscow');

И конечно же соглашусь с ответом выше - лучше использовать timestamp - time() или DateTime::getTimestamp() чтобы не зависеть от локальных настроек.
Ответ написан
Комментировать
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Перестаньте пользоваться datetime и начните использовать timestamp как все белые люди. Он не привязан к зоне
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы