joomla 1.5上的Smartformer组件间歇性错误


Smartformer Component on joomla 1.5 intermittent error

我目前正在使用joomla 1.5的smartformer组件,并且一直面临这个组件的奇怪情况。场景如下:

我使用组件创建了一个调查表单,当用户登录到网站时,他们会看到欢迎页面,有一个名为"采取调查"的按钮,所以当他们点击这个按钮时,他们可以开始回答问题。大多数情况下,表单将成功显示,但由于间歇性的原因,它将无法显示。你在浏览器上看到的是一片空白我试着在渲染表单的文件上调用这段代码:

ini_set('display_errors', 1);

但是没有错误显示。

我很困惑,这是非常困难的故障排除,因为没有消息显示什么是实际发生的

以前有没有人遇到过同样的错误?任何可能的解决办法都将非常感谢。:)

您最好的选择当然是您的错误日志。通过您的主机控制面板(cpanel, plesk或类似),您应该能够下载服务器的错误日志。从这里,您应该能够看到服务器正在经历的确切错误是什么。你的控制面板也可能有一个"最近100个错误"列表-但这是不太有用的,除非你自己经历错误后直接去那里。

在一个实时站点的浏览器中显示错误并不是最好的调试方式,因为你基本上向那些对错误信息有用的部分没有用处的人透露了潜在的有害信息。

如果你真的必须在Joomla中打开错误显示,请通过/administrator/area的全局配置选项来做。但记得要迅速关掉它们。我要强调的是,只有当你能在几次点击中可靠地重现错误时,这个过程才有用。

在不查看你的错误日志的情况下,这里是我对间歇性错误可能原因的"前3名"猜测:

  1. 您可能达到内存限制,服务器正在杀死进程。如果你的主机设置允许,在php.ini中设置memory_limit

  2. 超时-如果页面在x秒内没有完成,服务器会杀死脚本进程。通常这会给出一个脚本头未完成的消息。

  3. 其他资源限制正在达到- CPU使用率,数据库查询

但是-最终你的错误日志是你的朋友。

我们已经确定了引起问题的那个。smartformer无法完全加载整个表单,尤其是将重定向到用户应该填写的调查表单的部分,因此我们的解决方案是创建一个单独的自定义模块,将重定向到调查表单。我们真的不知道在这个过程中到底发生了什么,但正如我所说的,这种情况很少发生,由于时间紧迫,我们需要更早地找到解决方案,而不是追踪漏洞,但我真的很感谢那些为我提供想法的人。我从你们身上学到了很多东西,希望你们继续支持这样的论坛。;)

谢谢,克里斯

您需要增加php.ini中的memory_limit。对于Smartformer, Memory_limit必须大于64M。