由于取消激活扩展导致内存耗尽,Shopware更新失败



试图停用" Shopware store ";扩展在admin#/sw/extension/my-extensions/listing的web管理UI的扩展页面上,我得到一个错误消息,内存大小已耗尽:

错误:允许的内存大小为134217728字节耗尽(尝试到)分配946176字节)

除了这个问题,为什么我们需要分配大量的内存只是为了停用一个扩展,这些数字加起来不一致。946 KB的分配怎么会导致134.2 MB耗尽呢?

此错误信息发生在Shopware 6.4.16.1中,当试图手动停用扩展时,也当试图启动web更新程序将Shopware更新到最新版本时。也许这个内存分配错误在最新的更新中得到了修复,但它阻止了我们获得更新,至少在管理UI中是这样。除了"Shopware store"之外,目前没有其他有效的扩展名。

一个可能的解决方法是使用命令行(bin/console)来停用扩展并更新软件,可能添加一个选项来提高内存限制(如memory_limit=156M)。我们还可以下载最新的Shopware核心或从git中查看。我们也可以在使用web更新程序之前提高php.ini的内存限制。

是否有解决方案来解决这个问题,只使用管理UI不使用sshsftp?

只需将内存限制增加到推荐的512M即可。根据所安装扩展的复杂性,您甚至可能需要更多的内存空间。

但是如果您将内存限制设置得非常高(如2G),那么肯定会出现诸如无尽循环/递归之类的问题,需要进行调试。

无论如何,在如此低的内存限制下,这很可能足以增加内存限制,而不是一个bug。

没有SSH或SFTP是不可能的。您必须找出在服务器上配置内存限制的位置。如果您使用托管主机,通常会有一些特殊的管理面板,您可以在其中进行此类设置-或者直接询问他们的支持。

为什么分配946 KB会导致134.2 MB耗尽?

这意味着,它试图分配额外的946 KB,然后达到了限制。所以之前已经分配了大约133 MB。卸载扩展也需要一些内存,这是很正常的。

最新更新