【问题标题】:Joomla - Caching causes Problems with formsJoomla - 缓存导致表单问题
【发布时间】:2013-11-06 09:01:46
【问题描述】:
大多数时候,当我想使用 CKForms 发送表单时,插件无法识别它并且我得到一个空白页面。
HTTP Post 肯定会到达服务器,我可以在日志文件中看到。当我使用另一个表单插件(proforms)时,同样的事情会发生。
我很确定问题与缓存有关!我在 joomla 后端禁用了缓存(在服务器配置菜单和插件菜单中),甚至尝试删除插件文件中的缓存调用。
我在 Apache2 服务器上运行 Joomla 1.5。
解决方案是否可以全局禁用此插件的缓存(可能在 Apache 配置中)?如果是这样,我该怎么做?
谢谢!
【问题讨论】:
标签:
php
forms
apache
caching
joomla
【解决方案1】:
Apache 与 Joomla 缓存无关。
插件的输出可能同时被页面缓存和组件缓存缓存,具体取决于它运行的事件。
CKForms 有很好的声誉,两个组件抛出相同的错误会分散他们的注意力。
您是否在表单名称/字段中使用了一些非 ascii 字符? Joomla 联系表格是否有效?您的系统是否干净(没有恶意软件等)?
空白页意味着Joomla 遇到异常/错误并且没有完成页面渲染。服务器 php 日志中提供了有关错误的信息(不是 apache error_log,我的意思是 php 错误日志)。您可以从 Joomla 管理员的工具/系统信息菜单中查找错误日志位置,或查看您的 php.ini。请注意,某些主机已禁用它,您需要明确打开它。
这将包含引发的错误、引发错误的文件以及带有违规代码的行。
Joomla 缓存具有替换 token 的机制,token 不时在旧版本中中断,请确保您使用的是修补过的 1.5.26 版本。
不用说,您的错误也将通过更新到 2.5 或 3.x 来修复,您应该认为它是因为 Joomla1.5 已经死了一段时间了。