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的调用进程。

 

解决的方法:

改动sourceclassclass_core.php文件。找到public static function autoload($class)函数。把最以下的discuz_error::exception_error($exc);凝视掉就可以。例如以下图:

原文地址:https://www.cnblogs.com/wgwyanfs/p/7193656.html