环境:
Drupal 6 验证码6.24
问题
今天该模块开始出现问题。关于发生了什么的第一个线索是通过报告>最近的日志条目。它受到以下困扰:
Duplicate entry ***** for key ****** query:
INSERT into captcha_sessions (uid, sid, ip_address, timestamp,
form_id, solution, status, attempts) VALUES (....)
正如预期的那样,桌子很大,我说话超过25mbs。我的印象是Drupal的cron在运行时负责删除此表中的数据(以及日志)。因为它是Drupal 6,我去了 poormanscron 并让它运行....但没有任何改变。
我的临时解决方案是手动截断所述表格。但是让我觉得Drupal的cron本身并没有这样做。所以,我不知道,我是否有机会通过自定义脚本服务器端将此表保持在较小的尺寸?
我需要设置一些内容,以便Drupal的cron删除日志并清除该表吗?因为它是Drupal 6,所以我很遗忘,因为在Drupal 7中我可以创建一个cron作业。
提前感谢。
修改
此功能位于captcha.module
文件中。但它并没有像它所说的那样,表格永远不会被截断。
function catpcha_cron{
db_query('DELETE FROM {captcha_sessions} WHERE timestamp < %d', time() - 60*60*24);
}
答案 0 :(得分:0)
在我的情况下,我需要比时间戳更早的挑战被截断而不是超过一天,因为桌子得到了充分的填充,而且我没有足够的空间。我所做的就是更改负责所述截断 captcha.module 的模块中的功能。
function catpcha_cron{
db_query('DELETE FROM {captcha_sessions} WHERE timestamp < %d', time());
}
ps:我赞成了@ Clive的评论,因为它让我走上了正确的道路。谢谢!