因业务需要,http://www.wfuyu.com/discuz/X3.2论坛插件开发中需要使用到PHPExcel组件来读取Execl电子表格中的数据,在实际开发中发现,把PHPExcel组件单独放到1个页面中时,成功读取了电子表格中的数据,但当集成到http://www.wfuyu.com/discuz/的插件体系中时,调用失败。
出错提示:
http://www.wfuyu.com/discuz/! System Error
Oops! System file lost: class/phpexcel/phpexcel_shared_string.php
冲突缘由:
http://www.wfuyu.com/discuz/和PHPExcel都使用了php类的autoload技术来自动注册类,但http://www.wfuyu.com/discuz/阻断了spl_autoload_call的调用进程。
解决办法:
修改sourceclassclass_core.php文件,找到public static function autoload($class)函数,把最下面的discuz_error::exception_error($exc);注释掉便可。以下图: