CodeIgniter:允许的内存耗尽

时间:2013-02-05 06:23:01

标签: php codeigniter

我在CodeIgniter工作。我想要做的是读取Excel文件并保存到数据库。要阅读Excel文件,我使用的是this library。上传后,在阅读Excel文件时,我收到此错误:

  

致命错误:第430行/home/webscwi1/public_html/projects/OnlineExam/application/libraries/excel_reader.php中允许的内存大小为134217728个字节(尝试分配71个字节)

无论如何,我可以将内存大小从12Mb更改为512Mb,我仍然会遇到相同的错误。我不知道确切的错误是什么,我想知道这是服务器错误还是代码中的问题。

其他信息:如果我上传了15行的文件,它工作正常,但如果我在Excel中上传了90行,我收到此错误:

 $this->load->library('excel_reader');
 $this->excel_reader->read('question/'.$filename);
 $worksheet = $this->excel_reader->worksheets[0];

感谢所有人。

3 个答案:

答案 0 :(得分:6)

你应该增加内存限制:

  • 编辑php.ini文件

    memory_limit = 512M

OR

  • 在剧本顶部包含此行

    的ini_set( “memory_limit的”, “512M”);

您还应该检查.ttaccess上是否有这些行:

php_value memory_limit <value>
php_value upload_max_filesize <value>

他们的值会覆盖php配置。所以他们应该反映你的需求,或者只是被删除。

答案 1 :(得分:0)

您应该在文件中添加属性php_value NameOfProject / .htaccess

  

<IfModule mod_rewrite.c> php_value memory_limit 256M </IfModule>

答案 2 :(得分:0)

此内存溢出可能是上次查询的自动保存,您可以$this->db->save_queries = false;或为'save_queries' => FALSE,更改文件config / database.php