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

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

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


本文出自 “技術” 博客,請務必保留此出處http://hywds.blog.51cto.com/13158032/1958039

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