PHP在本機(jī)可以正常導(dǎo)出Excel,在上Linux就提示ERR_EMPTY_RESPONSE,下面說(shuō)一下怎么不降版本還能正常導(dǎo)出Excel,解決上面的問(wèn)題。
使用導(dǎo)出Excel的時(shí)候顯示錯(cuò)誤頁(yè)面提示如下,這時(shí)候發(fā)現(xiàn)上傳Excel都可以正常讀取數(shù)據(jù),只是導(dǎo)出的時(shí)候不可以。

我這里使用的PHP版本是7.1。PHPExcel版本用的是1.8.1。github地址:
https://github.com/PHPOffice/PHPExcel/tree/1.8.1??梢钥吹阶髡咭呀?jīng)3年沒(méi)更新過(guò)了。

將PHPExcel里面的Class內(nèi)容都拷貝到thinkphp的vendor目錄下。重命名為PHPExcel。也就是將之前老的插件換成這個(gè)1.8.1的版本。

具體怎么寫(xiě)Excel和引入插件我就不說(shuō)了。說(shuō)下代碼方面的寫(xiě)法。
問(wèn)題其實(shí)集中出現(xiàn)在Excel輸出這里。(下面是成功導(dǎo)出Excel的寫(xiě)法,前面生成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來(lái)讀寫(xiě)Excel。
github:https://github.com/PHPOffice/PhpSpreadsheet
文檔:https://phpspreadsheet.readthedocs.io/en/develop/


以上就是關(guān)于PHP7導(dǎo)出Excel報(bào)ERR_EMPTY_RESPONSE的相關(guān)解決步驟和方法,感謝大家的閱讀和對(duì)腳本之家的支持。