【发布时间】:2016-09-14 10:23:56
【问题描述】:
一两天前,我在尝试访问 /admin 时开始遇到内存问题
起初它是打开和关闭的,现在站点树没有加载,导致管理部分无法使用。有谁知道可能是什么问题?或者以前有过这样的经历?
我尝试清除缓存并设置一个 silverstripe-cache 文件夹,但没有任何作用。
假设它可能是我编写的代码,我将所有页面类型移出目录,运行 dev/build & flush 但错误仍然存在。
模块激活:
>多值字段
> external_auth
页面类型:15
页面数:40,261
我得到的错误是:
PHP 致命错误:在第 26 行的 /framework/model/connect/PDOQuery.php 中,允许的内存大小为 134217728 字节已用尽(尝试分配 71 字节),引用者:/admin/pages/
谁能建议我应该把重点放在哪里来解决这个问题?我也有点难过问题是什么/在哪里
更新/回答/我的解决方案
我设法解决了这个问题(暂时)...
我所做的是清空 SiteTree_Live 表并在我知道我的代码运行良好且毫无疑问存在任何内存问题时恢复到提交,然后我再次发布所有文章并增加提交直到我回到最最近的。
它现在可以正常工作了,我可以很好地回到管理面板,所以看起来确实与数据量有关。增加内存限制就可以了。
【问题讨论】:
-
是的,我看到了,我设置了 128mb
-
@Barry 是的,它是 3.4 - 我拥有的模块是多值字段,external_auth。页面具有设置和显示特定位置内容、向内容作者发送电子邮件的功能,对于页面类型我有 15
-
对不起,我以为您指的是页面类型,至于实际页面大约有 40k。我认为这可能是我的代码,我尝试在此错误出现之前的一周内注释掉我所做的所有事情,刷新缓存并且问题仍然存在
-
@Freemium 不得不问一个显而易见的问题:您是否尝试将内存限制增加到超过该上限,还是再次耗尽所有内存?如果您在本地获取项目文件的副本而数据库中没有任何页面,管理员是否工作?如果后者有效,我想您可以尝试以多步的方式增加 memory_limit 。专业提示:git 和 bisect 将有助于排除编码问题。如果您只是在评论一些东西,那么您似乎应该深入了解版本控制您的项目
标签: silverstripe