允许262144字节的内存耗尽(试图分配24576字节)


Allowed memory size of 262144 bytes exhausted (tried to allocate 24576 bytes)

我简直要疯了。

我收到了下一条信息:

Allowed memory size of 262144 bytes exhausted (tried to allocate 24576 bytes)

待办事项列表

检查phpinfo(),得到正确的php.ini路由并编辑它。将memory_limit更改为

memory_limit = 128M

确保值memory_limit在phpinfo()中更改,结果如下:

memory_limit    128MB   128MB

检查。htaccess并添加(不需要)

php_value memory_limit 128M

也可以通过php修改它,像这样(在错误行之前):

ini_set('memory_limit','128M');

到处都说内存设置为128M,但仍然得到那个错误?

错误是在Swift库(库发送电子邮件),在abstractSmtpTransport.php,所以它不是我的代码int应该工作。

有什么想法?

编辑:是的,前面是重新启动apache。

编辑2:@patrick,添加了这个,但是没有回应

尝试用更低的值,28M int每个文件,重新启动apache,相同的错误(phpinfo显示新的值)

尝试使用-1,重新启动,同样的错误。

编辑3:允许的内存比分配的内存大,这不是很奇怪吗?(尽管事实上,允许的内存大小是低于实际允许的内存分配)

我看到我的问题是有点不同于你的,但我会张贴这个答案,以防它帮助别人。在定义memory_limit时,我使用MB而不是M作为速记,php会默默地忽略它。我把它改成一个整数(以字节为单位),问题就解决了。

我的php.ini更改如下:memory_limit = 512MBmemory_limit = 536870912。这解决了我的问题。希望它能帮助别人!你可以在这里阅读php的简写。

编辑

正如姚东所指出的,你可以很容易地使用正确的简写" "而不是使用字节值。为了调试的目的,我把我的改成了字节值,然后就懒得再改回去了。

262,144字节的值是诊断的关键。这个神奇的数字在PHP问题中随处可见。为什么?因为如果你试图用一个PHP不能使用的值来更新内存限制,那么这个值最终会成为PHP的内存限制。空字符串将产生此内存限制,错误的单位符号(如'128MB'而不是正确的'128M')也会产生此内存限制。

262144字节正好是256千字节。我不明白为什么PHP在出现混乱的时候会返回到那个值。

允许的内存大于分配的内存,这不是很奇怪吗?

显示的分配量只是最近的分配尝试,即与内存限制发生冲突的分配尝试。请参阅在分配较少内存时允许的PHP内存大小。

看看这个答案是否能帮到你。特别是CLI ini可能与脚本在浏览器中运行时不同。

允许X字节的内存大小耗尽

在我的情况下,MG都没有帮助,所以我使用https://www.gbmb.org/mb-to-bytes

将分配的内存转换为字节

4096M = 4294967296

. ini:

memory_limit = 4294967296

我试图提高媒体上传的Wordpress设置限制。我听从了一些博客的建议,将限制从64MB提高到2GB。

我做了以下操作:

在WP ADMIN中创建一个(php.ini)文件,包含以下整数:

upload_max_filesize = 2000MB
post_max_size = 2100MV
memory_limit = 2300MB

当我试图登录我的Wordpress仪表板检查它是否工作时,我立即收到了这个错误:

"已耗尽262144字节的内存(试图分配24576字节)"

以上信息在这个链帮助我很大。(Stack通常做BTW)

我将PHP.ini文件修改如下:

upload_max_filesize = 2000M
post_max_size = 2100M
memory_limit = 536870912M

主要区别是只使用M,而不是MB,并将内存限制设置为高。

当我保存了修改后的PHP.ini文件后,我保存了它,再次登录,登录屏幕又出现了。

我进去查看媒体上传,砰的一声:

图片显示twordpress媒体文件夹"添加新"框,限制说明为"最大上传文件大小:2gb"

我还没有重新启动Apache,但是一切看起来都很好。

谢谢每一个人。

我也有同样的问题。要解决这个问题,你需要更新你的PHP版本。

有一个类似的问题,修改我的wp-config.php文件没有帮助。我的是一个多站点,下面是我解决它的步骤。所以检查一下你的网站是否是一个多站点,这可能会有帮助。

登录到您的cPanel并检查软件部分。点击"MultiplePHP INI editor"。图标。在"配置PHP INI基本设置"中;页,从下拉菜单中选择Home Directory或特定域并编辑。

这些是我对我的修改:

memory_limit = 256M
upload_max_filesize = 12M
post_max_size = 13M
file_uploads = On
max_execution_time = 180

保存更改,在检查错误是否消失之前清除浏览器缓存。

在我的情况下,这是因为我有另一个文件夹包含了xampp和它的所有文件(htdocs, php等)。例如,我在不同的目录中安装了两次Xampp,由于某种原因,另一个目录的配置影响了我当前的Xampp目录,因此我不得不更改另一个目录的php.ini文件中的内存大小。

在我的例子中,这个错误是因为我的代码中的无限循环而发生的。因此,代码不能结束,而是一直运行无限次。检查你的代码是否存在无限循环。

如果您尝试通过composer安装某些包时发生这种情况,请使用此命令COMPOSER_MEMORY_LIMIT=-1 composer require nameofpackage

相关文章: