ThinkPHP在新浪SAE平台的部署实例


Posted in PHP onOctober 31, 2014

本文实例讲述了ThinkPHP在新浪SAE平台的部署方法。分享给大家供大家参考。具体实现方法如下:

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

一、准备工作:

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

2、自己开发或者找一个基于thinkphp3.12开发的程序,本次测试使用的是博客程序WBlog3.1.3版本,没有的可以点击此处本站下载。

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

二、实现步骤:

1、创建一个应用,http://127.0.0.1/如图所示:

ThinkPHP在新浪SAE平台的部署实例

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

ThinkPHP在新浪SAE平台的部署实例

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

ThinkPHP在新浪SAE平台的部署实例

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

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

<?php 

  //开启调试模式 

   define('APP_DEBUG',true); 

   //前台目录 

   define('APP_PATH', './W3note/'); 

   define('W3CORE_PATH','./ThinkPHP'); 

   require W3CORE_PATH.'/Extend/Engine/Sae.php';//加载SAE引擎文件

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

<?php 

// +---------------------------------------------------------------------- 

// | WBlog 

// +---------------------------------------------------------------------- 

// | Copyright (c) 2008 http://www.w3note.com All rights reserved. 

// +---------------------------------------------------------------------- 

// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) 

// +---------------------------------------------------------------------- 

// | Author: 网菠萝果 

// +---------------------------------------------------------------------- 

// $Id$ 

if (!defined('W3CORE_PATH')) exit(); 

return array( 

    'DB_TYPE'=>'mysql', 

    'DB_HOST'=>SAE_MYSQL_HOST_M, 

    'DB_USER'=>SAE_MYSQL_USER, 

    'DB_PWD'=>SAE_MYSQL_PASS,  

    'DB_NAME'=>SAE_MYSQL_DB, 

    'DB_PREFIX'=>'wb_', 

    'RBAC_ROLE_TABLE'=>'wb_role', 

    'RBAC_USER_TABLE'=>'wb_role_user', 

    'RBAC_ACCESS_TABLE'=>'wb_access', 

    'RBAC_NODE_TABLE'=>'wb_node', 

    'KEYCODE'=>'gfgP5o', 

); 

?>

到这里似乎已经完成了,但是还要注意以下两点。

1、SAE严格区分大小写

如路径http://127.0.0.1/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"
这样就可以隐藏入口了。

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

PHP 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
php select,radio和checkbox默认选择的实现方法
May 15 PHP
php页面消耗内存过大的处理办法
Mar 18 PHP
php5.5新数组函数array_column使用
Jul 08 PHP
PHP防止跨域提交表单
Nov 01 PHP
ThinkPHP分组下自定义标签库实例
Nov 01 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
详谈PHP编码转换问题
Jul 28 PHP
php截取视频指定帧为图片
May 16 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 #PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 #PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 #PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 #PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 #PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 #PHP
php使用fopen创建utf8编码文件的方法
Oct 31 #PHP
You might like
PHP5 面向对象(学习记录)
2009/12/02 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
python模块之re正则表达式详解
2017/02/03 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
python实现五子棋小游戏
2020/03/25 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Python super()方法原理详解
2020/03/31 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
招商银行工作证明
2015/06/17 职场文书
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js