PHP7导出Excel报ERR_EMPTY_RESPONSE如何排查解决?

2026-04-02 04:571阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计656个文字,预计阅读时间需要3分钟。

PHP7导出Excel报ERR_EMPTY_RESPONSE如何排查解决?

PHP在Windows上可以正常导出Excel,在Linux上则提示ERR_EMPTY_RESPONSE。以下是一些可能的原因及解决方法:

1. 权限问题:Linux服务器可能没有足够的权限来生成Excel文件。确保用户有足够的权限来写入临时文件和目录。

2. PHP配置问题:检查PHP配置文件(php.ini),确保allow_url_fopen和allow_url_include参数设置正确。

3. 浏览器兼容性:某些浏览器可能不支持通过URL打开Excel文件。尝试使用不同的浏览器或更新浏览器到最新版本。

4. 文件路径问题:确保文件路径正确,没有路径错误或权限问题。

5. 文件编码问题:文件编码不一致可能导致问题。确保所有文件都使用相同的编码(如UTF-8)。

6. PHP版本问题:尝试使用不同版本的PHP,看看是否是特定版本的问题。

7. 服务器配置问题:检查服务器配置,确保没有导致错误的配置。

8. 代码问题:检查代码中是否有错误或遗漏,特别是处理文件和URL的部分。

如果以上方法都无法解决问题,请提供更详细的错误信息和代码,以便进一步分析。

PHP在本机可以正常导出Excel,在上Linux就提示ERR_EMPTY_RESPONSE,下面说一下怎么不降版本还能正常导出Excel,解决上面的问题。

使用导出Excel的时候显示错误页面提示如下,这时候发现上传Excel都可以正常读取数据,只是导出的时候不可以。

我这里使用的PHP版本是7.1。PHPExcel版本用的是1.8.1。github地址:

github.com/PHPOffice/PHPExcel/tree/1.8.1。可以看到作者已经3年没更新过了。

将PHPExcel里面的Class内容都拷贝到thinkphp的vendor目录下。重命名为PHPExcel。也就是将之前老的插件换成这个1.8.1的版本。

具体怎么写Excel和引入插件我就不说了。说下代码方面的写法。

问题其实集中出现在Excel输出这里。(下面是成功导出Excel的写法,前面生成Excel的部分略去了)定义头部后直接输出。

$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。

github:github.com/PHPOffice/PhpSpreadsheet

文档:phpspreadsheet.readthedocs.io/en/develop/

PHP7导出Excel报ERR_EMPTY_RESPONSE如何排查解决?

以上就是关于PHP7导出Excel报ERR_EMPTY_RESPONSE的相关解决步骤和方法,感谢大家的阅读和对易盾网络的支持。

本文共计656个文字,预计阅读时间需要3分钟。

PHP7导出Excel报ERR_EMPTY_RESPONSE如何排查解决?

PHP在Windows上可以正常导出Excel,在Linux上则提示ERR_EMPTY_RESPONSE。以下是一些可能的原因及解决方法:

1. 权限问题:Linux服务器可能没有足够的权限来生成Excel文件。确保用户有足够的权限来写入临时文件和目录。

2. PHP配置问题:检查PHP配置文件(php.ini),确保allow_url_fopen和allow_url_include参数设置正确。

3. 浏览器兼容性:某些浏览器可能不支持通过URL打开Excel文件。尝试使用不同的浏览器或更新浏览器到最新版本。

4. 文件路径问题:确保文件路径正确,没有路径错误或权限问题。

5. 文件编码问题:文件编码不一致可能导致问题。确保所有文件都使用相同的编码(如UTF-8)。

6. PHP版本问题:尝试使用不同版本的PHP,看看是否是特定版本的问题。

7. 服务器配置问题:检查服务器配置,确保没有导致错误的配置。

8. 代码问题:检查代码中是否有错误或遗漏,特别是处理文件和URL的部分。

如果以上方法都无法解决问题,请提供更详细的错误信息和代码,以便进一步分析。

PHP在本机可以正常导出Excel,在上Linux就提示ERR_EMPTY_RESPONSE,下面说一下怎么不降版本还能正常导出Excel,解决上面的问题。

使用导出Excel的时候显示错误页面提示如下,这时候发现上传Excel都可以正常读取数据,只是导出的时候不可以。

我这里使用的PHP版本是7.1。PHPExcel版本用的是1.8.1。github地址:

github.com/PHPOffice/PHPExcel/tree/1.8.1。可以看到作者已经3年没更新过了。

将PHPExcel里面的Class内容都拷贝到thinkphp的vendor目录下。重命名为PHPExcel。也就是将之前老的插件换成这个1.8.1的版本。

具体怎么写Excel和引入插件我就不说了。说下代码方面的写法。

问题其实集中出现在Excel输出这里。(下面是成功导出Excel的写法,前面生成Excel的部分略去了)定义头部后直接输出。

$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。

github:github.com/PHPOffice/PhpSpreadsheet

文档:phpspreadsheet.readthedocs.io/en/develop/

PHP7导出Excel报ERR_EMPTY_RESPONSE如何排查解决?

以上就是关于PHP7导出Excel报ERR_EMPTY_RESPONSE的相关解决步骤和方法,感谢大家的阅读和对易盾网络的支持。