执行php程序的时候,报错Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)

时间:2022-01-01 11:00:47

执行php程序时,会报下面的错误

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes) in /mnt/Change/www/html/data/conn.php on line 18


 

第一种方法:不推荐

修改php配置文件php.ini,memory_limit的值改大,但是不建议这么做,因为无论修改的再大,有可能还是会报这个错误,因为不知道运行这个php代码到底需要多少内存

 

第二种方法:推荐

一般都是一次赋值给变量的内容过多,比如把一张1GBmysql表的内容一次性复制给一个变量,这样肯定会导致运行内存超过了配置文件中限制的大小

 

解决方法

//第一步:先计算出这张表里有多少记录$sql='select count(*) as num  from table_name ';$Num_Res=Sql_Query($sql);//第二步:使用for循环和limit限制一次性取多少条内容,比如一次取100条记录$Num=$Num_Res[0]['num'];for($i=0;$i<$Num;$i+=100){$a="select * from table_name limit $i,100";//具体的其他操作}

注意:Sql_Query()是我自定的方法,大家主要看的还是思路


本文出自 “技术” 博客,请务必保留此出处http://hywds.blog.51cto.com/13158032/1958039