執行php程序的時候,報錯Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章