【问题标题】:Fatal error: Uncaught exception 'Exception' in PHPExcel classes致命错误:PHPExcel 类中未捕获的异常“异常”
【发布时间】:2010-05-19 06:46:55
【问题描述】:

谁能告诉我,为什么 PHPExcel 类会抛出以下错误

    Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file
 /var/www/mydomain/myexcel.xlsx.' in /var/www/mydomain/Classes/PHPExcel/Writer
/Excel2007.php:400 Stack trace: #0 /var/www/mydomain/myexcel.php(173):
 PHPExcel_Writer_Excel2007->save('/var/www/mydomain...') #1 {main} 
thrown in /var/www/mydomain/Classes/PHPExcel/Writer/Excel2007.php on line 400

【问题讨论】:

  • "PHPExcel" 如phpexcel.codeplex.com ?
  • 没有更多细节,并且可能跟踪您的代码/工作簿。假设 PHPExcel 1.7.2

标签: php exception


【解决方案1】:

我希望这个异常可能会因为 Excel 工作表仍处于打开状态而发生。还请检查您在其中写入/保存/上传 .xlsx 文件的文件夹的权限。

【讨论】:

    【解决方案2】:

    我有根据的猜测是,这是因为您尝试写入的文件夹的权限是错误的。如果是这种情况,要么使文件夹可写(从外观上看这是个坏主意) - 要么尝试保存到网络用户具有写入权限的位置以解决问题。

    顺便说一句,您使用的是什么版本的 PHPExcel?

    【讨论】:

    • 感谢您的想法:我将运行一些测试...然后可以在编写之前进行权限测试并抛出更有意义的异常
    【解决方案3】:

    此错误的最可能原因是您无权写入您尝试将 Excel 文件保存到的目录。

    【讨论】:

      【解决方案4】:

      抛出异常是因为 PHPExcel 已打开用于编写 Excel 工作簿的 zip 文件;但是当它尝试在完成时再次关闭它时,对 close() 的 zip 库方法调用失败。 它失败的原因是真正的问题,而且不能仅仅通过知道错误信息来解决。

      【讨论】:

        【解决方案5】:

        我也遇到了同样的问题——我是这样解决的: 传统上 PHP 作为 web 服务器守护进程 运行,因此有理由认为 web 服务器守护进程需要写入该子目录 并且应该成为整个示例子目录的组所有者。我做了这个简单的改变,效果很好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-02-17
          • 2014-08-26
          • 1970-01-01
          • 2013-07-07
          • 2015-06-10
          • 2015-06-20
          • 2014-04-08
          相关资源
          最近更新 更多