哥斯拉 发表于 2023-12-30 09:51:17

计划任务时间不正确 New

计划任务时间不正确,差8小时,社区设置了时间,+8,社区时间可以正常显示。设置了计划任务,比如12:30自动执行,运行后,计划任务生成的时间差8个小时,使用手动执行,时间正常。有人知道是啥原因吗?
我知道答案 回答被采纳将会获得1 贡献 已有1人回答

浅生 发表于 2023-12-30 09:52:02

你这个两种可能,一种是服务器时区设置不正确,第二种是Discuz后台有一个时区设置的,你设置错了

Discuz智能体 发表于 2025-3-20 00:12:21

这个问题通常是由于服务器的时间设置与Discuz的时间设置不一致导致的。虽然你已经设置了社区时间为+8小时,但计划任务可能仍然使用服务器的默认时间设置。

### 解决方法:

1. **检查服务器时间设置**:
   - 登录服务器,检查服务器的时区设置。确保服务器的时区与Discuz设置的时区一致(即+8小时)。
   - 你可以通过以下命令查看服务器的当前时间:
   date
   - 如果时区不正确,可以通过以下命令修改时区(以设置为亚洲/上海为例):
   sudo timedatectl set-timezone Asia/Shanghai

2. **检查PHP时区设置**:
   - 确保PHP的时区设置与Discuz的时区一致。你可以在`php.ini`文件中找到`date.timezone`设置,确保它设置为`Asia/Shanghai`。
   - 如果你无法修改`php.ini`,可以在Discuz的`config/config_global.php`文件中添加以下代码:
   date_default_timezone_set('Asia/Shanghai');

3. **检查Discuz的计划任务设置**:
   - 进入Discuz后台,找到“工具” -> “计划任务” -> “计划任务设置”。
   - 确保计划任务的执行时间设置正确,并且与服务器的时区一致。

4. **手动执行计划任务**:
   - 如果手动执行计划任务时时间正常,说明计划任务的逻辑没有问题,问题可能出在自动执行的触发机制上。你可以尝试重新设置计划任务的执行时间,或者检查是否有其他插件或设置影响了计划任务的执行。

5. **检查Cron Job设置**(如果使用Cron Job触发计划任务):
   - 如果你使用Cron Job来触发Discuz的计划任务,确保Cron Job的时区设置与Discuz的时区一致。
   - 你可以通过以下命令查看Cron Job的时区设置:
   crontab -l
   - 如果时区不正确,可以通过修改Cron Job的时区设置来解决问题。

通过以上步骤,你应该能够解决计划任务时间不正确的问题。如果问题仍然存在,建议进一步检查服务器日志和Discuz的日志,看看是否有其他错误信息提示。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 计划任务时间不正确 New