当前位置: 首页 > 知识库问答 >
问题:

间歇性PHP内存分配错误[重复]

姜玮
2023-03-14

PHP间歇性地报告荒谬的分配错误。

致命错误:第0行中未知的134217728字节的允许内存大小已用尽
(尝试分配4348209864字节

它试图分配超过4GB的内存。什么哪里是未知行0?它试图分配到哪里?

我没有在PHP代码中显式分配任何内存,也没有使用除股票PHP调用以外的任何东西。我看到我的PHP文件中的最后一行原始HTML(在我退出PHP块之后)被发出并在加载的页面中,因此问题似乎没有出现在我的实际PHP代码中。是我正在做的事情触发了这一切吗?

我发现,如果在编辑完实际的PHP文件后不久尝试在浏览器中重新加载PHP文件,这种情况似乎会更频繁,但我不知道这是否是一个好的数据点。

PHP版本是5.3.26。

为什么我会出现这些错误,这是我需要担心的生产吗?

共有1个答案

任元青
2023-03-14

内存池耗尽的最常见原因是,您要么做了一些资源密集型的事情(即尝试打开一个20GB的文本文件并将其加载到内存中),要么做了一些进入无限循环的事情(或者运行了足够多的时间来耗尽内存池,即返回大量行的SQL查询)。

未知行0在哪里?它试图分配到哪里?

PHP不能告诉您这一点,因为它发生在执行(即操作代码)层。PHP为您管理您的池(事实上,很难让它直接管理,因为它在设计上混淆了它)。

在代码中查找循环。即使是很小的错误也可能产生这种错误,即使它看起来是良性的。

 类似资料:
  • 我已经编写了一个程序,从usb摄像头捕获图像,并根据检测到的每帧颜色跟踪对象的位置。间歇性(可能在1分钟、10分钟或半小时后发生)我收到错误消息: 我遵循的流程是: 用相机拍摄一帧,cap=cv2。视频捕获(1)/cap。read() 变换几何,cv2。透视图 高斯模糊滤波器,cv2。高斯模糊 BGR到HSV转换,cv2。CVT彩色(模糊帧,cv2.COLOR\u BGR2HSV) 轮廓发现和分析

  • 我们有一个SSL问题,我是99%,这不是你通常的证书信任商店旋转木马。 我们有一个Weblogic服务器试图通过LDAPS与Active Directory建立SSL连接,底层SSL实现是JSSE。 有时,它是有效的。通常在重新启动Weblogic后的几个小时内。 之后,我们开始得到SSL握手错误,与SSL调试打开我们看到: [ACTIVE]ExecuteThread:'10'用于队列:'webl

  • 问题内容: 我刚从python移植了我的应用程序,所以Go有点新。看来我遇到了记忆问题。 它在ubuntu机器上运行。通过主管。 编辑: 设置解决问题 问题答案: 对于遇到此问题的其他人,这是golang问题中的相关近期问题 对于所有受影响的人,在Linux上得到适当修复之前的临时替代方法可以是以下之一: 启用无条件过量使用: 能够无条件过载:添加交换到你的主机,用它几乎永远不会被使用,但在计算参

  • 我们正在AWS的CoreOS上运行kubernetes 1.5.7。我们的kube dns映像版本是 gcr.io/google_containers/kubedns-amd64: 1.9gcr.io/google_containers/kube-dnsmasq-amd64: 1.4.1 我们传递给dnsmasq的参数是 我们在20个节点集群中每个节点运行1个kube dns pod。在过去的几个

  • 我在运行OSX 10.13.6的Mac上有PHP版本7.2.9。如果我加载phpinfo(),我在Safari中看到memory_limit=256M。然而,当我看php.ini(/usr/本地/php5/lib/php.ini)memory_limit=128M。这种差异的原因是什么——显然限制是在其他地方设定的,但是在哪里?我需要增加内存限制

  • 问题内容: 节点版本为 崩溃期间的内存使用情况未超出 产生此错误的代码: 要检查是否存在递归堆栈大小问题,我使用–stack-size = 60000参数运行了下一个代码 并得到了 然后,我运行了导致严重错误的代码:CALL_AND_RETRY_LAST分配失败-使用相同的–stack-size = 60000参数处理内存不足,并且没有得到。 因此,我得出结论与递归堆栈大小没有共同之处。 我该如何