【问题标题】:Smartformer Component on joomla 1.5 intermittent errorjoomla 1.5间歇性错误上的Smartformer组件
【发布时间】:2012-01-13 18:26:23
【问题描述】:

我目前正在为 joomla 1.5 使用 smartformer 组件,并且一直面临来自该组件的奇怪情况。这是场景:

我使用该组件创建了一个调查表,当用户登录网站时,他们会看到欢迎页面,并且有一个名为“参加调查”的按钮,因此当他们单击此按钮时,他们可以开始回答问题。大多数情况下,表单会成功显示,但由于间歇性原因,它会无法显示。您刚刚在浏览器上看到的内容实际上是空白的,我试图在将呈现表单的文件上调用此代码:

ini_set('display_errors', 1);

但没有显示错误。

我对此感到非常困惑,很难排除故障,因为没有任何消息显示实际发生的情况。

以前有没有人遇到过同样的错误? 任何可能的解决方案将不胜感激。 :)

【问题讨论】:

  • 你有没有尝试增加内存限制或php执行时间?
  • 还没有,但我认为值得一试。 ;)

标签: php joomla joomla1.5 joomla-extensions


【解决方案1】:

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

在实时站点的浏览器中显示错误并不是最好的调试方式,因为您基本上会将潜在有害信息透露给即使对错误消息的有用部分也没有用处的人。

如果您确实必须在 Joomla 中打开错误显示,请通过 /administrator/ 区域的全局配置选项进行。但请记住再次快速关闭它们。我强调这个过程只有在您可以在几次点击内可靠地重现错误时才有用。

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

  1. 您可能遇到了内存限制并且服务器正在终止进程。如果您的主机设置允许,请提高 php.ini 中的 memory_limit。

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

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

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

【讨论】:

  • 我同意 Dean 的观点,这就是为什么我们还有一个单独的服务器用于开发和客户端使用应用程序的实时站点。在实时站点中,我们禁用了调试,因为它可能会危及我们的安全。
【解决方案2】:

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

谢谢,

克里斯

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 感谢您的回答,但我尽可能避免将内存限制增加到超过 64MB,这对于处理应用程序的服务器可能变得太有害(尤其是对于那些资源有限的服务器)如果我们这样做,但如果没有其他方法可以解决问题,那么我愿意这样做或其他一些可能有风险但足够合理以解决问题的选择。 ;)
    猜你喜欢
    • 2011-07-02
    • 2022-07-19
    • 2016-05-20
    • 1970-01-01
    • 2023-03-07
    • 2013-05-01
    • 2012-06-10
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多