phpexcel在linux系统报错如何解决
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了phpexcel在linux系统报错如何解决,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3112字,纯文字阅读大概需要5分钟。
内容图文
![phpexcel在linux系统报错如何解决](/upload/InfoBanner/zyjiaocheng/140/bc256f2c918d4dcea3a626ebc26cb841.jpg)
说是1762行有问题,找到这个文件的代码看看:
/** * Get an instance of this class * * @access public * @param PHPExcel $workbook Injected workbook for working with a PHPExcel object, * or NULL to create a standalone claculation engine * @return PHPExcel_Calculation */ public static function getInstance(PHPExcel $workbook = NULL) { if ($workbook !== NULL) { if (isset(self::$_workbookSets[$workbook->getID()])) { return self::$_workbookSets[$workbook->getID()]; } return new PHPExcel_Calculation($workbook); } if (!isset(self::$_instance) || (self::$_instance === NULL)) { self::$_instance = new PHPExcel_Calculation(); } return self::$_instance; } // function getInstance()
这个函数getInstance(PHPExcel $workbook = NULL)
发现这个函数 定义的时候多了个PHPExcel ,我试着把它删除,上传,测试,又报错了:
这次是1721行,然后再次找到这个位置的文件删除 PHPExcel这个东东,然后继续上传,测试,后面大多数错误都是这种,删掉函数定义时的PHPExcel即可,但是错误一个接一个,这是需要替换的文件:
这个地方要加个空格,这样才不会替换错误,好了,继续上传测试.
然后就这样了…..当时内心是崩溃的…
继续找问题吧,在测试php文件里面输出变量进行测试。
PHPExcel\PHPExcel\Calculation\Functions.php 下面这个文件,中有个 **TYPE**函数,将其中的break去掉,上传,ok了/** * TYPE * * Returns a number that identifies the type of a value * * @param value The value you want tested * @return number N converts values listed in the following table * If value is or refers to N returns * A number 1 * Text 2 * Logical Value 4 * An error value 16 * Array or Matrix 64 */ public static function TYPE($value = NULL) { $value = self::flattenArrayIndexed($value); if (is_array($value) && (count($value) > 1)) { $a = array_keys($value); $a = array_pop($a); // Range of cells is an error if (self::isCellValue($a)) { return 16; // Test for Matrix } elseif (self::isMatrixValue($a)) { return 64; } } elseif(empty($value)) { // Empty Cell return 1; } $value = self::flattenSingleValue($value); if (($value === NULL) || (is_float($value)) || (is_int($value))) { return 1; } elseif(is_bool($value)) { return 4; } elseif(is_array($value)) { return 64; break; } elseif(is_string($value)) { // Errors if ((strlen($value) > 0) && ($value{0} == '#')) { return 16; } return 2; } return 0; } // function TYPE()
这是完整流程,线上系统用的是centos7,php是也是7。这个估计是不兼容造成的,也没有再深一步研究了,毕竟其实有新的excel插件了,要不是,有太多代码需要修改,估计我直接换插件了。
相关推荐:
TP3.2中phpexcel导入excel方法分享
PHP使用PHPExcel批量上传到数据库
thinkPHP+phpexcel实现excel报表输出功能实例详解
以上就是phpexcel在linux系统报错如何解决的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的phpexcel在linux系统报错如何解决全部内容,希望文章能够帮你解决phpexcel在linux系统报错如何解决所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。