今天在做表格导出的时候出现了“atal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 12288 bytes) in ”的错误,然后我查了一下引起这种错误的原因是php.ini中 memory_limit的值设置的太小了导致PHP内存溢出。
在运行PHP程序,出现类似atal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 12288 bytes) in, 这就说明当前PHP脚本使用了过多的内存,并超出了设置的最大值。与是我就通过phpinfo查看了我的memory_limit设置的值
如图显示的是128M,由于我的系统是多人使用的算下来的话确实是不够,那么有什么方法解决呢?
方法1: 修改php.ini
最简单的方法就是直接修改php.ini,但这样也是有弊端的因为像PHP内存和数据库内存都是固定分配好的,如果你使用的是虚拟机这样内存小的就有可能导致其他问题的出现。
方法2: 修改.htaccess
这种方法只有在php以Apache模块来执行时才生效。 在你的网站的根目录下找到“.htaccess”文件,如果没有,可以自己创建一个。然后把以下配置放入其中
php_value memory_limit 128M ; 弊端同上。
方法3: 程序运行时修改php的内存设置
在你的php代码前面添加 ini_set('memory_limit','128M'); 即可。(推荐使用)
发表评论 取消回复