我有一个安装了 CAPTCHA 和 ReCAPTCHA 模块的 Drupal 7 站点,但是缓存有问题(但不是正常问题!)。问题是我的用户注册页面上应该显示一个验证码,但有时这个验证码会停止显示,直到我通过管理 -> 性能 -> 清除所有缓存手动清除缓存。
我正在检查 Chrome 中的匿名窗口,以确保 Drupal 无法识别我并且不显示 CAPTCHA,即使我将 CAPTCHA 的持久性设置设置为“始终添加挑战”
我尝试过使用 CAPTCHA 和缓存设置,但似乎没有任何影响。所有其他在线信息似乎都与如何在验证码页面上重新启用缓存有关,而我的问题恰恰相反。
我还成功地在其他 Drupal 7 版本上使用了 CAPTCHA,没有任何问题,并且无法弄清楚为什么这个问题出现了。
该网站是http://respirometry.org。如果您进入用户注册页面,您可能会或可能不会看到验证码,这取决于我多久之前手动清除了缓存。
我查看了 Drupal 的日志,发现当 CAPTCHA 停止工作时,我收到了关于 file_temp_location 的错误。我去了 Admin -> File System 并将“临时目录”更改为 /tmp,这不会引发错误。
该错误似乎与 ISPConfig 设置站点的方式有关。它可以通过 drupal.respirometry.org 或 respirometry.org 访问,它们的 openbasedir 设置略有不同,所以我的选择似乎是将临时目录设置为 /tmp,或者更改两个站点上的 openbasedir 设置,以便他们可以访问彼此的临时目录。