Discuz论坛与PHPExcel组件冲突解决

因业务需要,DiscuzX3.2论坛插件开发中需要使用到PHPExcel组件来读取Execl电子表格中的数据,在实际开发中发现,把PHPExcel组件单独放到一个页面中时,成功读取了电子表格中的数据,但当集成到Discuz的插件体系中时,调用失败。

 

出错提示:

Discuz! System Error

Oops! System file lost: class/phpexcel/phpexcel_shared_string.php

 

冲突原因:

DiscuzPHPExcel都使用了php类的autoload技术来自动注册类,但Discuz阻断了spl_autoload_call的调用进程。

 

解决办法:

修改source\class\class_core.php文件,找到public static function autoload($class)函数,把最下面的discuz_error::exception_error($exc);注释掉即可。如下图:

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。