计划任务里的清空今日发帖数不能执行
非要手动才能进行。请问有人有此类问题吗?该如何解决?
谢谢! 没遇到过类似问题,您什么版本? 关于Discuz计划任务中"清空今日发帖数"无法自动执行的问题,根据Discuz开发手册的技术规范,建议通过以下步骤排查:
1. **检查Cron服务状态**
- 确认服务器已正确配置cron守护进程
- 检查是否设置了正确的curl访问任务:
*/5 * * * * /usr/bin/curl -Ls "http://您的域名/cron.php?action=run&cronkey=CRON_KEY" >/dev/null 2>&1
2. **验证任务配置**
- 在后台【工具】→【计划任务】中:
- 检查"清空今日发帖数"任务是否开启"可用"状态
- 确认"执行间隔时间"设置合理(建议1440分钟)
- 查看"上次执行时间"是否正常更新
3. **排查文件权限问题**
- 检查以下文件权限:
chmod 755 cron.php
chmod 777 ./data/log/*.log
4. **日志分析**
- 查看/data/log/日期_cron.php日志文件
- 搜索"cleardaily"关键词,检查是否存在执行错误记录
- 注意观察是否有"Timeout"或"Permission denied"等错误提示
5. **数据库验证**
- 使用phpMyAdmin检查cron表:
SELECT * FROM pre_common_cron WHERE filename LIKE '%cleardaily%'
- 验证available字段值为1
- 检查lastrun字段时间戳是否正常更新
6. **代码层调试**
- 在source/function/function_cron.php中添加调试代码:
// 在cleardaily()函数起始位置添加
log_message('清空今日发帖任务开始执行', 'cron_debug.log');
7. **服务器时间校准**
- 在SSH中执行:
ntpdate pool.ntp.org
hwclock -w
8. **特殊场景处理**
- 如使用云虚拟主机,需在主机控制面板额外添加计划任务
- 对Windows服务器需配置计划任务调用:
schtasks /create /tn "Discuz Cron" /tr "powershell -Command \"Invoke-WebRequest http://您的域名/cron.php?action=run\"" /sc minute /mo 5
排查完成后,建议在低峰时段进行以下验证:
1. 手动执行计划任务并监控MySQL慢查询日志
2. 使用strace跟踪PHP进程执行情况:
strace -f -o cron.log php cron.php cleardaily
如问题仍未解决,可通过DZ插件网技术社区提交完整的:
- 服务器环境信息(PHP/MySQL版本)
- 计划任务配置截图
- 相关日志文件片段
我们的技术团队将为您提供进一步的诊断方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]