今天在thinkphp执行M()->query(sql);发生了服务器500错误,开始以为是mysql语法错误,最后经测试查看日志文件发现,是查询表结果太大,内存不够用导致
[08-Mar-2016 12:24:34 PRC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2 bytes) in
接下来根据自己服务器内存修改配置
第一中解决方案是:在PHP文件中加入ini_set(”memory_limit”,”512M”);
第二中解决方案是:修改 php.ini配置文件,在php.ini中找到
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit =512M,将前面的分号去掉,改动值的大小后重启。
第三种解决方案是:修改.htaccess分布式配置文件(注意哦:前提是该目录支持.htaccess)。在文档中新增一句:php_value memory_limit 512M(或更大)