【问题标题】:Cronjob Not Running On Local TimezoneCronjob 未在本地时区运行
【发布时间】:2015-09-15 04:58:04
【问题描述】:

我已经在 Home 目录和 Public_html 目录的 php.ini 文件中设置了 date.timezone="Asia/Kolkata"。

还尝试按如下方式编辑 .htaccess 文件:

#Adjust default time zone 
#SetEnv TZ Asia/Kolkata

phpinfo() 也显示 date.timezone="Asia/Kolkata"

但直到 cronjob 在 UTC 而不是在我当地的亚洲/加尔各答时区运行。

我联系了托管服务提供商,他们说请编辑脚本和您的 php.ini 文件。我多次查看我的脚本和 php.ini 文件...直到没有成功。

我的 php.ini 文件中的前几行是主目录如下:

date.timezone = "Asia/Kolkata"
[PHP]

;;;;;;;;;;;
; WARNING ;
;;;;;;;;;;;
; This is the default settings file for new PHP installations.
; By default, PHP installs itself with a configuration suitable for
; development purposes, and *NOT* for production purposes.
; For several security-oriented considerations that should be taken
; before going online with your site, please consult php.ini-recommended
; and http://php.net/manual/en/security.php.
.
 .
  .

php信息可以在这里看到

http://ayurvedvishva.com/phpinfo

我在共享主机上,所以无法访问 SSH / WHM

【问题讨论】:

  • Cronjob 将按照系统时间(服务器)运行

标签: php cron ini


【解决方案1】:

Cronjob 按服务器时间安排运行,与 PHP 无关。要快速查看您的服务器在哪个时区运行,请在 shell 中键入 date +%Z;

编辑:无法访问 SSH,在共享主机上,您应该根据提供给您的服务器时间调整您的 cron 时间。这是共享主机的限制。设置 TZ 环境变量只会启动具有时区的进程,但您的 cron 仍将按服务器计划运行

【讨论】:

  • 在 phpinfo() 文件中,在底部,我添加了回显当前日期时间......它显示了亚洲/加尔各答日期时间......例如它现在正在显示 2015-09-15 10:39:13 这是我在我所在地区的当前日期和时间......你可以在链接底部看到它ayurvedvishva.com/phpinfo.php
  • 当 PHP 执行时,您正在设置 PHP 进程本身的时区(通过 ini 或代码)。在 PHP 之外,还有一个与操作系统相关联的时间,这就是 crontab 计划针对的时间。
猜你喜欢
  • 1970-01-01
  • 2018-03-18
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多