我的脚本,序列化一个大型数组在PHP 5.3.8与APC上没有问题。我的服务器崩溃我用APC安装了PHP 5.3.10,我收到了以下错误。
Allowed memory size of 31457280 bytes exhausted (tried to allocate 262263 bytes).
我在php.ini中将memory_limit增加到256M。在我用PhpInfo()验证的相同脚本上,它显示256 MB。但是我得到了相同的错误消息。我禁用了APC,并再次出现相同的错误消息。
答案 0 :(得分:4)
嗯,很明显31457280字节是30 MB,因此限制没有增加,所以我再次检查。
为了使这个答案更有用,你应该考虑批量序列化这个大型数组,因为一次性占用这么多内存永远不是一个好主意。
此外,您应该查看igbinary,因为PHP存储和序列化数组的本机方式非常很差且内存不足
答案 1 :(得分:0)
调用phpinfo()以检查memory_limit是否实际更改。也许您只是编辑了错误的php.ini文件。
答案 2 :(得分:0)
改变php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 300M
根据您的需要更改memory_limit。
或详情,请转到http://php.net/memory-limit