亚博app

PHPExcel导入文件超时的解决方法

phpexcel text logo目前,PHPExcel是完成将xls或xlsx的数据导入到平台的主流方式,但是在使用PHPExcel导入文件时,经常会因为数据量太大而导致超时。对于PHPExcel导入文件超时的问题,网上有很多说法,但总结得不够完整。这里分享一下小卓的经验,如果你有服务器的管理权限,修改好下面的三个设置来增加超时限制就可以解决大部分导入超时的问题。

一、修改php.ini文件

RUGUONIXIANGXIUGAIPHPJIAOBENDEZUIDAZHIXINGSHIJIANXIANZHICONGMORENDE30MIAOZENGJIADAO300MIAO

vim /etc/php5/fpm/php.ini

SHEZHI:

max_execution_time = 300

二、修改phP-fpm

ZHEIYIBUBUSHIBIXUDE,JINZAINICENGJINGQUDIAOGUOrequest_terminate_timeoutCANSHUZHUSHICAIQINGKUANGXIACAIXUYAO。MORENQINGKUANGXIA,request_terminate_timeoutCANSHUSHIBEIZHUSHIDIAODE,CISHIHUIQUphp.iniZHONGmax_execution_timeCANSHUDEZHI。

RUGUONICENGJINGQUDIAOGUOZHUSHINEIMEBIANJIwww.confWENJIAN:

vim /etc/php5/fpm/pool.d/www.conf

SHEZHICANSHUDEZHI:

request_terminate_timeout = 300

三、修改NGINX的配置

LIRUZENGJIAZHANDIANexample.comDESHIJIANXIANZHI

vim /etc/nginx/sites-available/example.com

SHEZHI:

location ~ \.php$ {
	include /etc/nginx/fastcgi_params;
        fastcgi_pass  unix:/var/run/php5-fpm.sock;
	fastcgi_read_timeout 300; 
}

RUGUONIXIANGRANGSHIJIANXIANZHIDUIFUWUQISHANGDESUOYOUZHANDIANYOUXIAO,NIYEKEYIBIANJInginx.confWENJIAN:

vim /etc/nginx/nginx.conf

ZAIhttp{..}BUFENZENGJIAXIAMIANDENEIRONG:

http {
	#...
        fastcgi_read_timeout 300; 
	#...
}

ZUIHOUBIEWANGLEZHONGXINJIAZAIPHP-FPMHENGINX:

service php7.0-fpm reload
service nginx reload

OK,如果上面的方法还没有解决到你的导入超时问题,如果你前端有用框架,也可以考虑是不是前端有超时设置。最典型的就是Extjs,默认通过Ext.Ajax发出的请求有30秒的默认超时值。在前端页面可以通过下面标粗体的两种方式修改默认值。其中第一种方式修改的是当前页面的全局默认值,而第二种方式只是修改当前消息请求的超时值。

Ext.Ajax.timeout = 120000; // 120 seconds
Ext.Ajax.request({
    url: 'page.aspx',
    timeout: 60000  // 600 seconds
});

CHULEExtjsWAI,HAIYOUQITAQIANDUANKUANGJIAYEKENENGYOUXIAOXIJIAOHUDEMORENCHAOSHISHEZHI,RUGUONIZHIDAODEHUA,KEYIJIXIAOZHUOLIUYAN,YIBIANJIANGXIANGGUANXINXIZONGJIEDAOYIKUAI。

>>原创文章,欢迎转载。转载请注明:转载自惠州市卓优互联科技有限亚博app,谢谢!
>>原文链接地址:PHPExcel导入文件超时的解决方法


关于作者

留下您的回复