SAE部署CI框架代码

由于这阵子京东云擎使用极不稳定,对于BLOG的空间,不得不另寻他路。想到sina的SAE,记得两年前就开通了帐号,好像送了几百云豆,然后就一直闲置着,结果当然,很快就耗尽云豆,应用过期。

这次重新登录了下,并且按提示进行了实名身份认证(拿着身份证自拍,好像最近很流行),两天后终于通过了,送了2K云豆,和1K的充值优惠卡,同时下载了IOS客户端,并登录,又送了一张2K的优惠卡(每张优惠卡都需要至少充值1元(100云豆)生效,总之还是挺划算。改天上个好应用,争取用UV换个开发者认证,这样就几乎不用花钱了。

现在开始说下重点:

1、我的BLOG是自己基于CI框架断续用了2、3天纯手工打造的,个人觉得自己用,精简、快速就好了,不想装wordpress,反正能看,能发布,能SEO就OK了。

2、开发完后部署在本地或者京东云擎上都是完全正常的。

3、今天部署到SAE就出现各种不痛快。。。如果你正在遇到类似的尴尬,请往下看,

git和googlecode上都有提供sae版本的ci框架,个人觉得没必要,毕竟不可能永远将代码托管在SAE上,万一换个平台,又得重写框架了。

总结如下:

1、SAE不支持.htaccess,就也是配置的地址特定向将失效,无法隐藏CI框架的index.php

  解决方案:

  进行设置面板,通过“AppConfig"设置“URL重写”模块,简单一个语句:

扫描二维码关注公众号,回复: 9767336 查看本文章

     - rewrite: if ( !is_dir() && !is_file() && path ~ "(.*)$" ) goto "index.php/$1"

2、SAE不直接暴露MYSQL相关变量,提供常量访问

  解决方案:

  编辑CI的 config/database.php

    $db['default']['hostname'] = SAE_MYSQL_HOST_M;
    $db['default']['username'] = SAE_MYSQL_USER;
    $db['default']['password'] = SAE_MYSQL_PASS;
    $db['default']['database'] = SAE_MYSQL_DB;
    //重要
    $db['default']['port'] = SAE_MYSQL_PORT;
    //重要
    $db['default']['pconnect'] = FALSE;


3、Session\Cookie\Header 总是失效

  这个问题困扰了我最久了,因为自己用的是记事本来编辑代码,所以另存为UTF-8时候是带签名。

  解决方案:

  将代码通过note++或者其它编辑器保存为 utf-8 不带签名的格式,最好是将整个站点所有文件都进行转换。

这里推荐一个很好的小工具,可以批量把目录及子目录所有文件进行编码格式的替换

    RemoveBOM

    下载地址:http://pan.baidu.com/s/1kTmhVd9


4、不支持默认方式的文件上传

  由于SAE限制了WEB目录IO的写操作,所以无法直接上传

  解决方案:

  需要借助到第三方存储,如SAE提供的storage、七牛云存储等,由于时间问题,这个问题暂未解决,改天有空研究下,用七牛来做存储吧,把BLOG编辑的上传接口整合下。


关于更多的SAE PHP环境问题,参见官方文档:http://sae.sina.com.cn/doc/php/index.html


另外,不知道我的5K云豆能使用多久,明天看下报表,大概能推算。另外,SAE还提供未备案域名的绑定方式(通过海外数据中心做中转,流量加倍,估计影响也至少减半了),不过我jslover.com的域名备案应该快下来了,再等等吧。


还有一个与京东云不同的是,京东通过git来管理源码,且需要预编译部署后才生效。而SAE直接通过SVN提交后立马生效,并且可以创建多个版本在管理端进行切换(10个版本),这点来说对于windows的使用者会方便一些。

发布了17 篇原创文章 · 获赞 1 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/a7282787/article/details/48137079
sae