phpexcel的自动加载冲突问题
phpexcel使用 spl_autoload_register加载文件,如果框架本身也使用了spl_autoload_register加载,就会引起冲突。
解决思路:在加载phpexcel的时候,先注销框架本身的spl_autoload_register,加载完后再开启框架本身的spl_autoload_register。
如:本项目使用了:
spl_autoload_register( 'loadKung' );在PHPExcel中的Autoloader.php的文件
spl_autoload_unregister('loadKung'); //先注销框架本身的 PHPExcel_Autoloader::Register(); // As we always try to run the autoloader before anything else, we can use it to do a few // simple checks and initialisations //PHPExcel_Shared_ZipStreamWrapper::register(); // check mbstring.func_overload if (ini_get('mbstring.func_overload') & 2) { throw new PHPExcel_Exception('Multibyte function overloading in PHP must be disabled for string functions (2).'); } PHPExcel_Shared_String::buildCharacterSets(); spl_autoload_register( 'loadKung' ); //然后开启
就这两个地方就行了,既:最前面和最后一条。