今天使用PHPExce插件導不出數據,發現是數據量過大的原因,這里只做簡單的處理。
1、導出超時處理:在執行頁面添加:set_time_limit(0);
2、內存溢出:在執行頁面添加:ini_set("memory_limit", "1024M");
簡單來說就是在執行頁面添加了以下兩行代碼:
set_time_limit(0);
ini_set("memory_limit", "1024M");
我這是1萬多的數據處理,如數據量更大,可以參考:https://blog.csdn.net/Drug_/article/details/78716358
的處理方式
3. 如果接口報502錯誤
zb@zb-computer:/usr/local/php/etc$ pwd
/usr/local/php/etc
php-fpm.conf
request_terminate_timeout = 1000 修改最大執行極限時間
4.nginx 最大執行時間,如果沒配置好,也會報504 nginx.conf
zb@zb-computer:/usr/local/nginx/conf$ pwd
/usr/local/nginx/conf
fastcgi_connect_timeout 1200;
fastcgi_send_timeout 1200;
fastcgi_read_timeout 1200;
-----主要應該是后面兩個參數,設置為20分鍾。當然我沒做把第一個參數改小的測試,條件允許的話可測試下。
- 在處理中,如果不是一直刷新后報錯下載不了,數據量小200條都可以導出,但到2000 導出不了,而且立馬報錯,可能是引入但phpExcel版本低但問題!
- 不一定都是php-fpm nginx 底層配置的問題,也可能是代碼的問題!