我都快疯了。
我收到了下一条信息:
Allowed memory size of 262144 bytes exhausted (tried to allocate 24576 bytes)
待办事项列表
检查phpinfo(),找到正确的php.ini路径并编辑它。
memory_limit = 128M
确保值memory_limit更改con phpinfo(),结果为:
memory_limit 128MB 128MB
检查.htaccess并添加(不需要)
php_value memory_limit 128M
也可以通过php修改它,比如(在错误行之前):
ini_set('memory_limit','128M');
到处都说内存设置为128 M,但仍然得到那个错误?
错误在Swift库(用于发送电子邮件的库),在abstractSmtpTransport.php中,所以它不是我的代码int的suposed工作.
有什么想法吗???
编辑:是的,之前的是重新启动apache。
编辑2:@帕特里克补充道,但没有任何回应
尝试使用更低的值,每个文件28 M int,重新启动apache,相同的错误(phpinfo显示新值)
尝试-1,重新启动,出现相同错误。
编辑3:允许的内存大于分配的内存,这不是很奇怪吗?(尽管事实上允许的内存大小远远低于实际分配的允许内存)
9条答案
按热度按时间bjg7j2ky1#
我发现我的问题和你的有点不同,但是我会把这个答案贴出来,以防它对其他人有帮助。我在定义memory_limit时使用
MB
作为速记,而不是M
,php默默地忽略了它。我把它改为整数(以字节为单位),问题就解决了。我的php.ini修改如下:
memory_limit = 512MB
到memory_limit = 536870912
。这修复了我的问题。希望它对其他人有帮助!你可以在这里阅读php的速记。正如Yaodong所指出的,您可以很容易地使用正确的简写"M",而不是使用字节值。出于调试目的,我将我的简写改为字节值,然后就懒得再改回来了。
6ioyuze22#
262,144字节的值是诊断的关键。你会看到这个神奇的数字在PHP问题中到处弹出。为什么?因为如果你试图用一个PHP不能使用的值来更新内存限制,PHP最终将使用这个值作为内存限制。一个空字符串将产生这个内存限制。错误的单位表示法如“128MB”代替正确的“128M”也是如此。
262,144字节正好是256Kibibytes。为什么PHP在混淆时会运行到这个值。
允许的内存比分配的内存大不是很奇怪吗?
显示的分配量只是最近的分配尝试,即与内存限制冲突的尝试。请参阅Allowed memory size in PHP when allocating less。
yzuktlbb3#
看看这个答案是否对你有帮助,特别是当脚本通过浏览器运行时,CLI的ini可能会不同。
Allowed memory size of X bytes exhausted
pxq42qpu4#
在我的例子中,
M
和G
都没有帮助,所以我使用以下命令将分配的内存转换为字节:https://www.gbmb.org/mb-to-bytes4096百万= 4294967296
php.初始化代码:
memory_limit = 4294967296
1szpjjfi5#
我试着提高WordPress设置的媒体上传限制,我听从了一些博客的建议,将限制从64MB提高到2GB,我不打算提。
我做了以下工作:
使用以下整数在WP ADMIN中创建了一个(php.ini)文件:
我立即收到这个错误时,试图登录到我的WordPress Jmeter 板检查它是否工作:
"已用尽允许的262144字节内存大小(尝试分配24576字节)"
这条链中的上述信息对我帮助很大。(Stack通常会顺便说一句)
我将PHP.ini文件修改为以下内容:
主要区别是只使用M而不是MB,并将内存限制设置得更高。
我一保存更改后的phpiderini文件,就保存了它,再次登录,登录屏幕再次出现。
我进去查看了媒体上传,然后砰:
Image showing twordpress media folder “Add New” box, with limits stated as “MAXIMUM UPLOAD FILE SIZE: 2 GB”
我还没有重新启动Apache ...但一切看起来都很好。
谢谢大家。
juud5qan6#
我也遇到了同样的问题。要解决这个问题,你需要更新你的PHP版本。
cs7cruho7#
有一个类似的问题,修改我的
wp-config.php
文件没有帮助。我的是一个多站点,我采取了以下步骤来解决它。所以检查看看你的网站是一个多站点,这可能会有帮助。登录到你的cPanel并检查软件部分。点击“MultiplePHP INI Editor”图标。在“configure PHP INI asic settings”页面,从下拉列表中选择主目录或特定域并编辑。
以下是我对我的版本所做的更改:
保存您的更改,清除浏览器的缓存,然后再检查错误是否消失。
wn9m85ua8#
在我的例子中,这是因为我有另一个包含xampp和所有它的文件(htdocs,php e.t. c)的文件夹.就像我在不同的目录中安装了两次Xampp,由于某种原因,另一个的配置影响了我当前的xampp目录,所以我不得不改变另一个目录的php.ini文件中的内存大小.
whitzsjs9#
如果在尝试通过composer安装某个软件包时发生这种情况,只需使用以下命令COMPSER_MEMORY_LIMIT=-1 composer require nameofpackage