执行php程序的时候,报错Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行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)的主要内容,如果未能解决你的问题,请参考以下文章
mysql load local data infield 报错 ERROR 1148 (42000): The used command is not allowed with this MyS
R执行报错:Error in `[<-.ts`(`*tmp*`,...only replacement of elements is allowed
解决MySQL数据导入报错Got a packet bigger than‘max_allowed_packet’bytes
MySQL报错:Packets larger than max_allowed_packet are not all
报错:1130-host ... is not allowed to connect to this MySql server