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

时间:2011-04-29 15:13:31

标签: php xml

  

可能重复:
  Allowed memory size of 33554432 bytes exhausted (tried to allocate 43148176 bytes) in php

我在这里看到过类似的问题,但我的情况完全不同。我正在从数据库中读取并写入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 />.

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

2 个答案:

答案 0 :(得分:13)

尝试在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只是一个例子)

注意:对于共享主机,我非常怀疑你可以改变内存限制。

答案 1 :(得分:3)

执行mysql_unbuffered_query()而不是mysql_query()。您的查询可能返回的数据太多,因为您的php服务器需要处理。