意外的令牌和内存限制

时间:2014-05-23 14:52:02

标签: php jquery syntax-error

在我的Wordpress网站上,我在尝试登录时获得SyntaxError: Unexpected token <

使用带有AJAX登录的插件,问题非常奇怪。

当我将内存限制增加到128MB(或6496)时,问题就会消失,并且没有错误。

虽然这可能看起来像是一个“修复”,但我仍然不想知道那里有什么“错误”的错误&#39;应该修复。

问题在于我无法找到错误是什么,调试类似内容的最佳方法是什么,并确切地找出导致SyntaxError的脚本或插件或编码错误?

为什么它只会在内存下限较低的情况下发生?

1 个答案:

答案 0 :(得分:0)

我知道我们一直在评论中反复讨论,但我想我会发布一个答案,因为SyntaxError真的在烦我(我知道它与AJAX有关)所以我做了一些快速的谷歌搜索。

是的所有插件,你有多少帖子等都会堆积并增加WordPress使用的内存量(除非你需要超过256MB,否则我不会担心)。 AJAX登录失败并出现语法错误的原因是因为它期望解析JSON对象(即{"success":false,"error":"User does not exist."}),而实际上它可能会收到类似的东西(因为大多数默认的Apache配置都有完整的HTML页面)他们的标准错误消息):

<html>
  <head>
    <title>500 Internal Server Error</title>
  </head>
  <body>
    Fatal error: Allowed memory size of 44040192 bytes exhausted (tried to allocate 30720 bytes).
  </body>
</html>

当尝试将其解析为JSON时,当它遇到第一个SyntaxError时,<显然失败了。无论如何,我认为将内存限制提高到64MB126MB并不是问题。