1. 程式人生 > 其它 >php phpexcel相關的設定

php phpexcel相關的設定

1.Maximum execution time of 30 seconds exceeded解決辦法

1)set_time_limit(0);

2)修改配置檔案php.ini

max_execution_time = 0;

2.Allowed memory size of 134217728 bytes exhausted 解決方法

  對於不使用的變數,使用unset($var) 來刪除它,否則記憶體佔用越來越多!

1)ini_set('memory_limit', '-1')

2)修改配置檔案php.ini

memory_limit = -1;

當報錯資訊與資料庫相關時,原因可能為:

1.查詢出來的資料量大。

2.資料量不大。但是你php.ini配置的記憶體大小太小

3.邏輯出現死迴圈

3.php post引數的個數不能超過1000

  修改php配置檔案,/etc/php/7.0/apache2/php.ini,修改引數max_input_vars以及max_execution_time 修改後重啟php-fpm以及apache2服務即可

4.匯出excel檔案後打不開,提示“檔案格式或副檔名無效,請確定檔案未損壞,並且副檔名與檔案的格式匹配”

來自:https://www.cnblogs.com/imustun/p/9156851.html

原因:

1.傳送header()頭之前,不知道又啥特殊字元輸出(可能是BOM,也可能是其他),導致php報錯!然後將報錯內容輸出到了Excel
2.極大可能是:檔案BOM頭問題,生成的Excel檔案頭部添加了BOM頭!

解決方案:

1.在輸出Excel前,緩衝區中處理BOM頭(可能是其他字元)

ob_end_clean();

ob_start();

在header()函式呼叫之前,清楚之前的錯誤輸出!

2.有人第一步過後,問題未解決。通過ob_get_contents()檢視匯出內容,並未發現BOM頭。

再就是應用了框架,返回的靜態頁輸出成了excel檔案。

試了以上方法後,還是沒有問題,最後檢視匯出的檔案內容,意識到是跳轉到靜態頁導致的。

加上exit($contents);後問題解決。

5.php7環境下使用PHPExcel匯出表格報錯:網頁可能暫時無法連線,或者它已永久性地移動到了新網址

解決方法:

把\PHPExcel\Calculation\Functions.php第574行的break註釋掉

6.PHPExcel exception: “Could not close zip file … ”報錯

  excel儲存目錄沒有寫許可權,使用chmod 對$phpExcel->save($dir)中的路徑設定777即可