• php的Allowed memory size of 134217728 bytes exhausted问题解决办法


    php的Allowed memory size of 134217728 bytes exhausted问题解决办法

    报错: 
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 128 bytes) in xxxx/mysqli_result.php on line 183

    解析: 
    134217728/1024/1024 = 128

    解决方案1:

    通过ini_set函数修改配置选项值

    ini_set(‘memory_limit’,’256M’); //升级为256M内存

    解决方案2:

    1、修改php.ini 

    修改php配置
    vi /usr/local/php/etc/php.ini
    memory_limit = 128 改成memory_limit = 256

    php-fpm重启
    /etc/init.d/php-fpm restart
    重启Nginx
    service nginx restart


    PHP5中,对于memory_limit的设定已经从以往的8M扩大到128M的上限。

    对于配置中的定义解释是: memory_limit = 128M ; Maximum amount of memory a script may consume (128MB) 最大单线程的独立内存使用量。

    也就是一个web请求,给予线程最大的内存使用量的定义。

    memory_limit的内存分配,标配是128M。一旦独立的线程超过了128M,那PHP会报错: Fatal error: Allowed memory size of 33554432 bytes对于8G内存的服务器,如果同时并发的响应达到50,每个都是128M的峰值,那估计也是服务器会卡死的时候。 
    尽量降低128M的内存配置,如果调整至64M,服务器的负载基本能下降一半左右,如果能调整至32M效果更好。但是对于应用的要求就更高,很多表建立初期就没有考虑到这个问题,如果你要采用memcache作为数据的存储,必须提前完成优化数据表的设计部署,降低独立线程PHP的内存使用量,服务器的响应和负载降低的就不仅仅是几个百分点的效果了。

  • 相关阅读:
    setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key
    Kinect 骨骼追踪数据的处理方法
    了解与建设有中国特色的Android M&N(Android6.0和7.0新特性分析)
    【计算机视觉】深度相机(一)--TOF总结
    A million requests per second with Python
    buf.fill()
    buf.slice()
    buf.toJSON()
    buf.toString()
    Buffer.compare()
  • 原文地址:https://www.cnblogs.com/zdz8207/p/php-memory_limit.html
Copyright © 2020-2023  润新知