各位大侠,我的服务器设置PHP.ini中memory_limit限制为800M,但是实际上使用根本就没有达到这么多就开始报错了,一般几兆就开始报错,这是什么原因?系统是windows,用的wamp套装,用phpinfo查看,memory_limit=800M之前在网上查到好像php 5.2.3有一个bug,设置内存限制不一定生效,但是我是用的php 5.2.5应该没有这个bug 了吧?

解决方案 »

  1.   

    具体错误信息是怎样的?
    如果使用了表单提交数据,也有可能是超过了post_max_size的限制;如果是上传文件,还要检查一下upload_max_filesize
      

  2.   

    你在 web 服务器启动并确认 php 所需的动态连接库全部加载后,用系统管理器查看可用的物理内存
    注意,是物理内存而不是虚拟内存。如果仍然大于 800M,那么请检查你的程序。你在做什么,需要那么大的内存?
      

  3.   

    没有用表单提交数据,报错就是类似于这样Fatal error: Allowed memory size of 1777216 bytes exhausted (tried to allocate 7520 bytes) 只是每次数字不同,根据提示的已经申请到的内存和需要申请的内存,加起来一般不超过10M,在做一个自动采集的程序,需要对采集到的内容进行一些处理,所以需要的内存比较大。服务器内存是2G
      

  4.   

    Fatal error: Allowed memory size of 1777216 bytes exhausted (tried to allocate 7520 bytes) 
    致命错误:允许内存大小 1777216字节用尽(尝试分配7520字节)这才 1M 多内存呀!通过 phpinfo 检查你的设置是否正确!
      

  5.   

    phpinfo设置显示是正确的,有时候可以申请到6,7M,但是基本上不超过10M,重启服务器也无效!!!!物理内存还有1G多没有被占用啊!!