生产服务器中的Laravel-Excel导出(下载)问题,但在我的开发服务器

时间:2017-02-01 03:06:01

标签: php laravel ubuntu nginx laravel-excel

我有一个Laravel应用程序,应该可以上传和下载 csv 文件到/从我的服务器端数据库。它在我的本地开发环境中运行得非常好,但是当我将它部署到Vultr.com上的生产服务器时。我的下载不会奏效。上传csv仍然可以正常工作。

如果我点击网络上的下载按钮。

在Chrome中,它会返回

  

无法访问此网站... ERR_INVALID_RESPONSE

在firefox中,它返回

  

找不到档案..

在Edge(IE)中,会下载一个0字节的部分文件。

我的本地开发环境是: LEMP + PHP5.6 + Laravel 5.3

我的生产服务器环境是:  Ubuntu 16.10 + nginx / 1.10.1(Ubuntu)+ php7.0 + Laravel5.3。我还测试将PHP从7.0降级到5.6。问题依然存在。

我在网上做了一些研究,似乎这个问题与php-zip,php-gd模块有关,它们的正确版本。并且大多数人抱怨无法下载' xlsx'但旧的' xls'和&#c; csv'工作良好。我已多次尝试确保我有正确/更新的php-zip,php-gd版本与我的php相关联。仍然没有运气。 我的导出控制器代码为:

return Excel::create('templete', function($excel) use ($data) {
$excel->sheet('rateTemplete', function($sheet) use ($data)
{
$sheet->fromArray($data);
});
})->download($type); //here $type =csv

//$data was the table generate from the databse, 
//I can use dd($data) before the Excel call to make sure it is alright. 

有人对此有任何想法吗?

0 个答案:

没有答案