在用PHPExcel1.8.0来处理excel时,本地测试时好使的,但是要把代码部署到SAE,在上传代码的时候就会遇到这个问题。

部署代码中遇到问题: -1:fail to get xml content

在网上查了下,好多人在用wordpress和weiPHP的时候也遇到了这个问题,解决办法是,用wordpress for sae,weiPHP也是修改那什么代码,对PHPExcel没什么参考价值。暂时我也不知道这个问题对自己的应用有什么影响,所以暂且略过。

在结束部署之后,访问页面的时候,在需要excel处理的地方,就会报错

报错说是找不到XMLWriter这个类。我在PHPExcel的源代码里找,也确实没有找到这个类的定义,只有对这个类的扩展。

这应该就是之前那个错误造成的影响。

网上有人说这个问题是PHP的版本不支持,我信了。

去sae的应用管理里看了下,是PHP5.3,版本不支持应该是版本太旧了吧,所以我就删掉了旧的应用,新建了个PHP5.6的应用。但是上传代码,还是fail to get xml content这个问题。我就呵呵了。

有人说,上传代码包有问题,就有吧,部署后在本地把正确代码用git或svn提交下。我半信半疑,试了下,果然没什么用。

有人说,要把Excel2007改成Excel5,我信了。我就去把代码改了,然后把excel文档的格式也从xlsx改成了xls来适配。结果还是报没找到XMLWriter这个错。

百度不行,我用google,结果又遇到相同问题的人,但没有解决办法的答案。在我一筹莫展的时候,终于找到了一个可以参考的办法。

错误为:Class 'XMLWriter' not found

FILE: ThinkPHP/Extend/Vendor/Excel/PHPExcel/Shared/XMLWriter.php  LINE: 44

检查了下,本地一切正常。本地php扩展有xmlwriter,saw扩展有xml。请教如何破?jorbin2014年06月30日

只要phpexcel的版本支持xml扩展即可,我用的是1.7.2

来自 <http://www.thinkphp.cn/topic/12201.html>

如上,解决办法是要PHPExcel的版本支持xml扩展。我信了,所以我就去PHPexcel那里下了个他说好使的1.7.2版本。然后删除掉代码里原有的1.8.0,替换成了1.7.2。代码里的一切也都保持是Excel5。然后重新用git提交,把新代码提交上去。这么一来,果然没有报找不到XMLWriter的错了。

但是又报了一个找不到写excel5的类的问题。同样的,我现在源代码里按规律找有没有这个类,还真有,直接包含引用就行了。再一试果然没这个问题了。开心。(应该会有一个新的错误,就是对文件的读写错误,如果和我一样之前并没有意识到sae使用storage来处理文件的话,这个问题在另一篇里解决)

总结下,就我上传使用PHPexcel的应用遇到的这个问题可能是PHPExcel的版本问题吧。所以我们得规避这个问题,用一个支持扩展xml的版本。也就是1.7.2(测试好用)。

PHPExcel上传sae遇到: -1:fail to get xml content的更多相关文章

  1. 把php上传sae问题要使用IO

    应用移植指南 一,为什么要移植应用 SAE禁止IO写操作,代码目录不能写入.这意味着普通程序的上传图片.生成缓存等操作都不能在SAE上正常运行,这时候你需要对这些代码进行修改后才能让你的程序运行在SA ...

  2. 使用phpexcel上传下载excel文件

    1. 下载 <?php /** * Created by lonm.shi. * Date: 2012-02-09 * Time: 下午4:54 * To change this templat ...

  3. 关于PHPExcel上传Excel单元格富文本和时间类型读取数据问题

    当用PHPExcel做Excel上传文件读取数据时,print_r出来的数据,竟然发现其中有几个单元格返回的是PHPExcel富文本对象,而且时间类型的单元格返回的是一个不是时间戳的五位数.就像下图那 ...

  4. 有关于weiphp2.00611上传sae的一些注意(图片上传解决方案)

    一.安装中注意的事项  安装时使用的系统为weiphp2.0611    版本     1.将所有文件上传到代码库中     2.按照步骤进行安装weiphp,注意在数据库导入的时候需要手动导入.  ...

  5. php上传sae路径问题

    我们写php时,会有 define('POOT_PATH', dirname(__FILE__)); 但是sea中没有用,所以我们要用 define("ROOT_PATH", $_ ...

  6. android 上传文件"Content-Type",为"application/octet-stream" 用php程序在服务端用$GLOBALS['HTTP_RAW_POST_DATA']接受(二)

    服务端php程序file_up.php function uploadFileBinary() { $this->initData(); $absoluteName = "" ...

  7. android 上传文件用php程序在服务端接受(一)

    php服务端接受程序..file_up.php. <?php /* require_once('lib/session_config.php'); require_once('lib/flydc ...

  8. 2. SpringMVC 上传文件操作

    1.创建java web项目:SpringMVCUploadDownFile 2.在项目的WebRoot下的WEB-INF的lib包下添加如下jar文件 com.springsource.com.mc ...

  9. 微信小程序多张图片上传

    微信小程序上传图片每次只能上传一张,所有很多朋友就会问想要多张图片上传怎么办? 首先,我们来看一看wx.chooseImage(object)和wx.uploadFile(OBJECT)这两个个api ...

随机推荐

  1. Dede cms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置

    第一.安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的.难猜到的前缀即可. 第二.后台登录一定要开启验证码功能,将默认管理员a ...

  2. 安装程序无法复制文件 convlog.exe的解决方法

    在安装的时候出现一个错误提示“安装程序无法复制文件CONVLOG.EX_”,上网找了很多资料,都说是因为版本问题,考虑到自己的服务器安装的是2003 SP1,后来打了补丁到SP2的,也就认为是版本问题 ...

  3. java io操作常规

    1.四种类型: 字节流: InputStream OutputStream 字符流: Reader Writer 2.转换流 InputStreamReader, OutPutStreamWriter ...

  4. flask test_client设置cookies

    class TestCase(unittest.TestCase): session = None def setUp(self): self.app = create_app() self.app. ...

  5. 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍

    调试DeepFlow光流算法,由于作者给出的算法是基于Linux系统的,所以要在Windows上运行,不得不做大量的修改工作.移植到Windows平台,除了一些头文件找不到外,还有一些函数也找不到.这 ...

  6. java 错误之:Exception in thread "main" java.lang.NoClassDefFoundError

    Exception in thread "main" java.lang.NoClassDefFoundError: PointTest 环境变量的问题,把环境变量设置好了就可以了 ...

  7. 新浪SAE使用Thinkphp框架,禁用memcache节省豆子的方法

    请在入口文件定义常量,SAE_RUNTIME为true请在本地打开命令行, cd 到项目所在文件夹,执行命令: php index.php 此时会在./App/Sae_Runtime目录下批量生成缓存 ...

  8. (easy)LeetCode 258.Add Digits

    Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...

  9. 分享一个基于EF5.0封装的BaseDAL

    public class BaseDAL<T> where T : class,new() { protected DbContext dbContext = DbContextFacto ...

  10. 使用 Cocos2d-x 3.1.1 创建 Windows Phone 8 游戏开发环境

    cocos2d-x 是目前流行的游戏游戏开发框架,目前最新的版本是 3.1.1, 网上有些教程已经比较老了,本文将会介绍如何使用最新的 3.1.1 创建 Windows Phone 8 开发环境. 本 ...