允许的内存大小为134217728字节耗尽(试图分配42个字节)

Abd*_*man 10 php mysql loops

我从mysql表中检索记录,每个查询返回超过0.2m的行数,这显然占用了大量的内存.在我的情况下,我的系统上安装了8 GB的RAM,SSD为256 GB.当我执行我的页面时,它返回以下错误:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 42 bytes) in D:\xampp\htdocs\classes\CRUD.php on line 84   
Run Code Online (Sandbox Code Playgroud)

我想我应该在表行上使用线程而不是php循环?也许我错了.任何建议/帮助将不胜感激.

小智 11

默认php.ini memory_limit是128 MB.你应该:

  • 优化代码以使用正常数量的数据
  • 将php.ini中的memory_limit更改为更高的值,我根本不建议 - 用你的方法再次点击这个墙


小智 7

您可以使用以下代码从文件内部扩展内存:

ini_set('memory_limit','16M');
Run Code Online (Sandbox Code Playgroud)

将此代码添加到文件顶部,将16M更改为所需的大小,并且应该这样做。