如何解决PHPExcel内存不足错误


How to solve PHPExcel out of memory error?

我正在使用PHPExcel生成Excel报告:

  • 我有一份大约600kb的报告
  • 这份报告共15页
  • 每张纸包含大约200行和12列
  • 一张工作表包含公式
  • 我使用PHPExcel进行阅读和写作
  • 我正在使用亚马逊免费的网络层服务器
  • 我在服务器中有大约600MB的RAM

问题是写入excel文件的过程被终止(由于内存不足)

我该怎么办?有其他可用的Excel库吗?我想要一个具有读写功能的库。

有没有其他方法可以解决内存不足的问题?

我发现很难相信通过PHPExcel运行的600kb文件会占用600MB的内存。可能只是分配给PHP的内存用完了。您可以使用以下方法之一来增加PHP脚本的可用内存:

  • memory_limit = 16M添加到php.ini文件中(如果您有访问权限,建议使用)通过root访问,您可以在基于Linux/Unix的系统中使用sed util,以增加64M的内存。不要忘记正确定位php.ini文件!sed -i 's/memory_limit = .*/memory_limit = 64M/' /etc/php5/apache2/php.ini
  • ini_set('memory_limit', '16M');添加到php脚本中
  • php_value memory_limit 16M添加到项目根文件夹中的.htaccess文件中