執行php程序的時候,報錯Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)
阿新 • • 發佈:2017-08-21
執行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代碼到底需要多少內存
第二種方法:推薦
一般都是一次賦值給變量的內容過多,比如把一張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()是我自定的方法,大家主要看的還是思路
本文出自 “技術” 博客,請務必保留此出處http://hywds.blog.51cto.com/13158032/1958039
執行php程序的時候,報錯Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)