<?php namespace app\index\controller; use think\Controller; use think\Db; class Charu extends Controller { public function index(){ date_default_timezone_set("PRC"); // 此處修改php.ini的內存,不然無法執行插入,因為數據量太大 ini_set('memory_limit','1024M'); echo date('Y-m-d H:i:s').'<br>'; $start = time(); $data = array(); for($i=0;$i<1000000;$i++){ array_push($data,['name'=>'測試','age'=>10]); } print_r(db('charu')->insertAll($data)); $end = time(); echo '<br>'.date('Y-m-d H:i:s').'<br>'; $a = $end-$start; print_r('耗時分秒 '.date('i:s',$a)); } }
遇到下面的錯誤就表示你php.ini文件設置的內存值不夠放
Fatal error: Allowed memory size of 157286400 bytes exhausted (tried to allocate 32 bytes) in
第一種解決方案是:在PHP文件中加入ini_set(”memory_limit”,”80M”);當然80M可以根據自己的情況改動,也不要太大哦,否則系統其它資源會遇到問題哦,其中-1為不設限。
我用的是第一種方法
第二種解決方案是:修改 php.ini配置文件,在php.ini中找到
memory_limit = 16M,將前面的分號去掉,改動值的大小,將memory_limit由8M改成16M(或更大),重啟apache服務即可。