PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
PHP7导出Excel遇到ERR_EMPTY_RESPONSE问题的解决指南
在本地使用PHP导出Excel毫无问题,但一旦部署到Linux环境,就可能会遇到ERR_EMPTY_RESPONSE的报错。本文将为大家介绍在不降低PHP版本的情况下,如何解决这一问题。
一、问题描述
使用PHP导出Excel时,可能会遇到页面提示ERR_EMPTY_RESPONSE的错误。尽管上传Excel文件时可以正常读取数据,但在尝试导出时却会遇到问题。
二、背景介绍
本文使用的PHP版本是7.1,PHPExcel版本为1.8.1。需要注意的是,PHPExcel的开发者已经有一段时间没有对其进行更新了。
三、解决方案
将PHPExcel里的Class文件内容复制到thinkphp的vendor目录下,并重命名为PHPExcel。也就是说,将旧的插件替换为1.8.1版本。
四、代码调整
问题的关键部分集中在Excel的输出上。以下是成功导出Excel的写法(省略了生成Excel的部分):
定义头部后直接进行输出。
```php
$filename = "模板文件".date("YmdHis").rand(1000,9999);
$filename = iconv("utf-8", "gb2312", $filename);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/vnd.ms-execl");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition: attachment; filename='.$filename.'.xls');
header("Content-Transfer-Encoding: binary");
$objWriter->save('php://output');
```
五、替代方案
除了上述解决方案,还可以使用PhpSpreadsheet来读写Excel。PhpSpreadsheet是PHPOffice开源的一个项目,具有更好的性能和更多的功能。相关资源如下:
GitHub地址:<
文档地址:<
以上就是关于PHP7导出Excel报ERR_EMPTY_RESPONSE的相关解决步骤和方法。感谢大家的阅读和对狼蚁SEO的支持。希望本文能帮助大家在Linux环境下顺利导出Excel,避免ERR_EMPTY_RESPONSE的错误。
编程语言
- PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
- mysql中url时区的陷阱该如何规避详解
- git add -A 和 git add . 的区别详解
- jQuery的Scrollify插件实现滑动到页面下一节点
- web前端vue filter 过滤器
- vue中node_modules中第三方模块的修改使用详解
- sql中生成查询的模糊匹配字符串
- thinkphp实现把数据库中的列的值存到下拉框中的方
- 详解PHP中array_rand函数的使用方法
- 将Session值储存于SQL Server中
- Bootstrap弹出框之自定义悬停框标题、内容和样式
- MYSQL updatexml()函数报错注入解析
- laravel-admin表单提交隐藏一些数据,回调时获取数据
- 防止Node.js中错误导致进程阻塞的办法
- JavaScript toUpperCase()方法使用详解
- 配置Grunt的Task时通配符支持和动态生成文件名问