Php 意外的令牌和内存限制

Php 意外的令牌和内存限制,php,jquery,syntax-error,Php,Jquery,Syntax Error,在我的Wordpress网站上,我得到了一个SyntaxError:Unexpected token我知道我们在评论中反复讨论,但我想我应该发布一个答案,因为SyntaxError真的让我感到困扰(我知道它与AJAX有关),所以我做了一些快速的谷歌搜索 是的,所有的插件,你有多少帖子,等等都会堆积起来,增加WordPress使用的内存量(我不会担心,除非你需要超过256MB)。AJAX登录失败并出现语法错误的原因是,它希望解析JSON对象(即,{“success”:false,“error”:“

在我的Wordpress网站上,我得到了一个
SyntaxError:Unexpected token我知道我们在评论中反复讨论,但我想我应该发布一个答案,因为
SyntaxError
真的让我感到困扰(我知道它与AJAX有关),所以我做了一些快速的谷歌搜索

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


500内部服务器错误
致命错误:已耗尽44040192字节的允许内存大小(尝试分配30720字节)。

当试图将其解析为JSON时,当它遇到第一个
SyntaxError
时,它显然失败了,
SyntaxError
应该包含一个文件和一个行号,这将帮助您查找和调试它(如果您在这一行周围包含相关代码,我也可以提供帮助)。此外,WordPress在默认情况下尝试使用
40MB
的内存。许多PHP配置从
64MB的内存限制开始。即使将其设置为128MB也不可笑。SyntaxError只是一个弹出的警报功能,我检查了控制台,在那里我看不到任何关于它的提及。警报对话框中也没有提到抛出错误的文件。很有趣,听起来像是你的AJAX登录插件自定义抛出的东西。我会尝试使用
wordpress syntaxerror
进行几次Google搜索。真正让我困惑的是,为什么内存限制为40MB时会出现这种情况,而不是64或128时?是的,这真的很难说。通常您会看到“超出内存限制(尝试在文件:行中将X字节放入内存)”或类似的内容。我猜,因为它是一个AJAX插件,它试图接收一个文件,但内存不足,无法检索整个文件(然后在解析不完整的文件时,它会看到语法错误)?不过,这完全是瞎猜。谢谢,山姆,我喜欢神秘的语法错误让你和我一样烦恼。我已经读了很多关于内存限制和被认为是“合理”的东西的书,大约256MB是上限。如果这是你网站上的每用户数,那么使用8GM RAM,你会很快遇到语法错误的人,因为当你有超过40个用户在线时,服务器上的所有内存都会耗尽,这是对的吗?还是不是这样?如果某个东西使用了超过40MB的内存,我会感到担心。+我有人告诉我,当我的内存限制为128MB时,这个问题偶尔会发生,这确实很奇怪。我认为从某种意义上说,这在技术上是正确的,但实际上你需要40个并发请求(不是要淡化您的站点,但如果您的Apache服务器还没有处理3个同时请求,我会感到惊讶)。一旦处理了一个请求并返回了一个页面,RAM就会被释放出来用于另一个请求。您应该能够在Apache服务器中设置最大连接数以避免这种情况。是的,不同的页面将占用不同的内存量(检索、存储、循环和解析10篇博客文章所需的时间远远超过静态登录页面的时间)。有没有办法验证该语法错误并检查它是否确实是致命错误,因为它返回的是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>