允许的内存大小为67108864字节,在写入xml文件时已耗尽(试图分配4459414字节)


Allowed memory size of 67108864 bytes exhausted (tried to allocate 4459414 bytes) in writing an xml file

可能重复:
php 中允许的33554432字节的内存大小已用尽(试图分配43148176字节(

我在这里看到过类似的问题,但我的问题完全不同。我正在从数据库中读取并写入一个xml文件。我收到这个错误

<b>Fatal error</b>:  Allowed memory size of 67108864 bytes exhausted (tried to allocate 4459414 bytes) in <b>.../public/home/..</b> on line <b>32</b><br />.

解决方案应该是什么?我是否增加代码中的内存大小?有什么帮助吗?

尝试增加或删除php.ini中的memory_limit。

找到类似的东西并更改memory_limit 的值

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

(这是我的php.ini的一部分(

保存更改后重新启动服务器。

此外,您可以尝试从代码中删除限制。

示例:

ini_set('memory_limit', '-1');

这应该很好。

另一种方法是通过添加以下行从.htaccess文件设置内存限制:

php_value memory_limit 128M

(128M只是一个例子(

注意:对于共享主机,我非常怀疑您是否可以更改内存限制。

执行mysql_unbuffered_query()而不是mysql_query()。您的查询可能返回了太多的数据,php服务器无法处理这些数据。
相关文章: