执行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代码到底需要多少内存
第二种方法:推荐
一般都是一次赋值给变量的内容过多,比如把一张1GB的mysql表的内容一次性复制给一个变量,这样肯定会导致运行内存超过了配置文件中限制的大小
解决方法
//第一步:先计算出这张表里有多少记录 $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()是我自定的方法,大家主要看的还是思路