最近迁移一个PHP系统,在旧有的服务器上运行没有任何问题,在新的服务器上运行就会一直报“Allowed memory size of XXXXXXXX bytes exhausted”,尝试了好几种解决方案,记录如下。
第一种方案:
在PHP文件中加入ini_set(”memory_limit”,”128M”);
当然,128M可以根据自己的情况改动,也不要设置太大;否则,系统其它资源会遇到问题;其中,设置为-1表示不设限。
试过之后,发现不好使,于是接着尝试第二种方案。
第二种方案:
修改 php.ini配置文件,在php.ini中找到memory_limit配置项(譬如可能为 “memory_limit = 32M”),将前面的分号去掉,改动值的大小,将memory_limit由32M改成128M(或更大),重启php-fpm服务。
试过之后,发现不好使,于是接着尝试第三种方案。
第三种方案:
修改php-fpm.conf,打开后发现 php_admin_value[memory_limit] = 16M,修改为128M,重启php-fpm。
试过之后,发现好使!终于解决了问题。