執行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()是我自定的方法,大家主要看的還是思路