thinkphp在新浪SAE平台的部署

ThinkPHP自从thinkphp3.0版本开始提供了SAE平台支持,并具备众多特性,支持本地化开发和调试以及部署切换,让thinkphper轻松过渡到SAE开发。


准备工作
1、您需要具备SAE的账号,如果您没有该账号,请到 SAE官方网站申请。


2、自己开发或者找一个基于thinkphp3.12开发的程序,本次测试使用的是博客程序WBlog3.1.2版本,没有的可以去网志博客(http://www.w3note.com)下载。


3、到thinkphp官方网下载3.12 版本的SAE引擎Engine,并把它放到核心包的扩展包里,SAE引擎在thinkphp包的位置:ThinkPHP\Extend\Engine


好了,接下来是实现步骤

1、创建一个应用,http://w3note.sinaapp.com/如图所示:


2、创建一个版本,这里我埴1,如图


3、上传代码包,完整上传代码包后如图所示


4、创建数据库。打开数据库的路径是w3note »  MySQL » 服务管理 »管理MySQL,我创建的数据库名称为WBlog,然后把数据表sql文件导入


5、配置前后台的项目入口文件,方法大同小异。下面是前台项目入口文件index.php配置

1 <?php 
2   //开启调试模式 
3    define('APP_DEBUG',true); 
4    //前台目录 
5    define('APP_PATH''./W3note/'); 
6    define('W3CORE_PATH','./ThinkPHP'); 
7    require W3CORE_PATH.'/Extend/Engine/Sae.php';//加载SAE引擎文件

6、数据库文件配置
在数据库建表后,数据库文件的配置,如DB_HOST、DB_USER、DB_PWD和DB_NAME的配置如下所示,似乎是通用的

01 <?php 
02 // +---------------------------------------------------------------------- 
03 // | WBlog 
04 // +---------------------------------------------------------------------- 
05 // | Copyright (c) 2008 http://www.w3note.com All rights reserved. 
06 // +---------------------------------------------------------------------- 
08 // +---------------------------------------------------------------------- 
09 // | Author: 网菠萝果 
10 // +---------------------------------------------------------------------- 
11 // $Id$ 
12 if (!defined('W3CORE_PATH')) exit(); 
13 return array
14     'DB_TYPE'=>'mysql'
15     'DB_HOST'=>SAE_MYSQL_HOST_M, 
16     'DB_USER'=>SAE_MYSQL_USER, 
17     'DB_PWD'=>SAE_MYSQL_PASS,  
18     'DB_NAME'=>SAE_MYSQL_DB, 
19     'DB_PREFIX'=>'wb_'
20     'RBAC_ROLE_TABLE'=>'wb_role'
21     'RBAC_USER_TABLE'=>'wb_role_user'
22     'RBAC_ACCESS_TABLE'=>'wb_access'
23     'RBAC_NODE_TABLE'=>'wb_node'
24     'KEYCODE'=>'gfgP5o'
25 ); 
26 ?>

到这里似乎已经完成了,但是还要注意以下两点。
1、SAE严格区分大小写
如路径http://w3note.sinaapp.com/Public/Css/style.css 中的Css改为css样式文件就加载错误。不过在本地测试则没有出错。


2、SAE URL路由隐藏index.php
如果你在本地的URL 如http://127.0.0.1/WBlog/blog 隐藏index.php,在SAE则无法访问。原因是
SAE不支持.htaccess文件,但我们可以使用SAE提供的AppConfig服务实现伪静态。
在你项目的根目录config.yaml文件(一般会自动生成,没有的自己建吧),加上如下代码:
handle:
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"
这样就可以隐藏入口了。


效果演示地址:http://w3note.sinaapp.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值