Rumah > pembangunan bahagian belakang > tutorial php > phpexcel导入大数据内存溢出的解决方法有哪些

phpexcel导入大数据内存溢出的解决方法有哪些

王林
Lepaskan: 2023-04-07 21:12:01
asal
4495 orang telah melayarinya

phpexcel导入大数据内存溢出的解决方法有哪些

PHPExcel版本:1.7.6+

在不进行特殊设置的情况下,phpExcel将读取的单元格信息保存在内存中,我们可以通过PHPExcel_Settings::setCacheStorageMethod()来设置不同的缓存方式,已达到降低内存消耗的目的!

相关视频教程推荐:php入门教程

解决方案:

1、将单元格数据序列化后保存在内存中

PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized;
Salin selepas log masuk

2、将单元格序列化后再进行Gzip压缩,然后保存在内存中

PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
Salin selepas log masuk

3、缓存在临时的磁盘文件中,速度可能会慢一些

PHPExcel_CachedObjectStorageFactory::cache_to_discISAM;
Salin selepas log masuk

4、保存在php://temp

PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
Salin selepas log masuk

5、保存在memcache中

PHPExcel_CachedObjectStorageFactory::cache_to_memcache;
Salin selepas log masuk
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_memcache;  
$cacheSettings = array( 'memcacheServer'  => 'localhost',  
     'memcachePort'    => 11211,  
     'cacheTime'       => 600  
);  
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
Salin selepas log masuk

注意是加在new PHPExcel()前面,如下:

require_once APPPATH .'third_party/PHPExcel/PHPExcel.php';
        
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array('memoryCacheSize'=>'16MB');
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
$objPHPExcel = new PHPExcel();
Salin selepas log masuk

推荐相关文章教程:php教程

Atas ialah kandungan terperinci phpexcel导入大数据内存溢出的解决方法有哪些. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan