首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPExcel缓存错误

PHPExcel缓存错误
EN

Stack Overflow用户
提问于 2014-03-03 23:55:12
回答 1查看 739关注 0票数 1

当我启用缓存选项以提高内存使用率时:

代码语言:javascript
复制
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '32MB');
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);

我得到一个致命的错误:

代码语言:javascript
复制
Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed' in /Applications/MAMP/htdocs/XXXX/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php:65 Stack trace: #0 /Applications/MAMP/htdocs/XXXX/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php(65): serialize(Object(PHPExcel_Cell)) #1 /Applications/MAMP/htdocs/XXXX/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php(85): PHPExcel_CachedObjectStorage_PHPTemp->_storeData() #2 /Applications/MAMP/htdocs/XXXX/Classes/PHPExcel/Worksheet.php(1136): PHPExcel_CachedObjectStorage_PHPTemp->addCacheData('BN21', Object(PHPExcel_Cell)) #3 /Applications/MAMP/htdocs/XXXX/Classes/PHPExcel/Reader/Excel2007.php(881): PHPExcel_Worksheet->getCell('BN21') #4 /Applications/MAMP/htdocs/XXXX/engine.php(85): PHPExcel_Reader_Excel2007->load('XXXX.xlsx') #5 {main} thrown in /Applications/MAMP/htdocs/XXXX/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php on line 65

有没有办法修复这个错误?

EN

回答 1

Stack Overflow用户

发布于 2015-10-21 15:34:33

我也有同样的问题。我的文件也是机密的:/。但我在MemoryGZip.php中发现,在这行之前

代码语言:javascript
复制
$this->_cellCache[$this->_currentObjectID] = gzdeflate(serialize($this->_currentObject));

$this->_currentObject的值为

代码语言:javascript
复制
PHPExcel_Cell Object
(
[_value:PHPExcel_Cell:private] => =J4=SUM(K4:Q4)
[_calculatedValue:PHPExcel_Cell:private] => 1
[_dataType:PHPExcel_Cell:private] => f
[_parent:PHPExcel_Cell:private] => 
[_xfIndex:PHPExcel_Cell:private] => 5
[_formulaAttributes:PHPExcel_Cell:private] => SimpleXMLElement Object
    (
        [@attributes] => Array
            (
                [t] => shared
                [ref] => U4:U15
                [si] => 1
            )

        [0] => J4=SUM(K4:Q4)
    )

)

该列中具有相同公式的其他单元格,如果处理没有问题,则没有此块

代码语言:javascript
复制
[_formulaAttributes:PHPExcel_Cell:private] => SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [t] => shared
            [ref] => U4:U15
            [si] => 1
        )

    [0] => J4=SUM(K4:Q4)
)

希望这将有助于发现问题。PS马克,谢谢你的PHPExcel。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22151258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档