出现这个错误消息,有什么建议吗?
允许内存大小为33554432字节已耗尽(已尝试分配 43148176字节)的PHP
出现这个错误消息,有什么建议吗?
允许内存大小为33554432字节已耗尽(已尝试分配 43148176字节)的PHP
当前回答
写
ini_set (memory_limit’,‘- 1);
在你的index.php中,在PHP标签打开后的顶部
其他回答
在Wordpress中切换到一个新主题后,我收到了同样的错误信息。PHP运行的是5.3版本,所以我切换到了7.2。这解决了问题。
如果使用共享主机,则不能强制增加php大小限制。
只要去你的cpanel和升级你的php版本到7.1以上,然后你就可以去了。
ini_set('memory_limit', '-1');
Wordpress用户添加一行:
@ini_set(“memory_limit”、“-1”);
在wp-settings.php中,你可以在wordpress安装的根文件夹中找到
我注意到许多答案只是试图增加脚本的内存数量,但通常情况下,这意味着由于不可预见的容量或大小,某些东西对内存过于自由。显然,如果你不是脚本的作者,除非你有野心,否则你要受作者的摆布:)PHP文档甚至说内存问题是由于“写得不好的脚本”。
值得一提的是,ini_set('memory_limit', '-1');(无限制)会导致服务器不稳定,因为0字节空闲=坏事。相反,要根据脚本要做的事情和机器上可用的内存数量找到一个合理的平衡。
一个更好的方法是:如果您是脚本的作者(或雄心勃勃),您可以使用xdebug调试此类内存问题。最新版本(2.6.0 -发布2018-01-29)带回了内存分析,显示哪些函数调用消耗了大量内存。它暴露了脚本中难以找到的问题。通常情况下,低效率是在一个循环中,它不期望它接收到的容量,但每种情况都将留给读者作为练习:)
xdebug文档很有帮助,但它可以归结为3个步骤:
安装它-可通过apt-get和yum等 配置它- xdebug.ini: xdebug。Profiler_enable = 1, xdebug。Profiler_output_dir = /where/ever/ 在QCacheGrind、KCacheGrind等工具中查看配置文件