我刚从我的开发服务器上传了一组代码到我的实时代码,当我尝试保存任何东西时,PHPExcel开始只生成500错误。代码如下 (注意:这一切在dev服务器上运行良好,并且当两者之间的转换用于其他应用程序时,PHPExcel和Laravel都可以正常工作)
$PHPExcel = new PHPExcel;
$filename = 'Companies_Export_'.Session::getId().'.xls';
$file = public_path().'/_assets/exports/'.$filename;
//$fp = fopen($file, 'w');
$objWriter = PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel5');
$objWriter->save($file);
我已删除了填充文件的代码,以防文件大小问题。
我已经使用fopen来测试应用程序是否具有对目录的写访问权限,并在正确的位置创建一个具有正确名称的新文件,这样也没关系。
我已经尝试将文件名更改为'1.xls',所以这不是Session :: getId()的问题
如果我注释掉$ objWriter-> save($ file);行,它一切正常,显然不保存,如果我把垃圾作为参数而不是合法的目录/文件名,它仍然只是500的,所以表明PHPExcel必须在编译文件时失败?
我现在不知所措,无论我做什么都不会向我显示错误,它只会抛出500页没有信息(详细错误页面只是说php fastcgi进程意外退出或类似)
的信息: PHP版本5.3.10 Windows Server 2008 IIS 7.5
答案 0 :(得分:2)
我们没有收到有用的错误消息的原因是因为PHP(process exited unexpectedly
)本身崩溃之前能够删除其崩溃原因的说明。因此,由于PHP内部错误,PHP脚本很难解决。
我确信升级到较新的PHP版本可以解决问题。