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 相关文章推荐
PHP中for循环语句的几种变型
Mar 16 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
May 18 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
php之curl实现http与https请求的方法
Oct 21 PHP
CI框架给视图添加动态数据
Dec 01 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
微信公众平台开发之配置与请求
Aug 26 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 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
第四节--构造函数和析构函数
2006/11/16 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
2015/01/19 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
2016/05/03 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
基于openlayers实现角度测量功能
2020/09/28 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
基于hashlib模块--加密(详解)
2017/06/21 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
什么是网络协议
2016/04/07 面试题
中专自我鉴定范文
2013/10/16 职场文书
追悼会主持词
2014/03/20 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
大学生求职信例文
2014/06/29 职场文书
2015年档案室工作总结
2015/05/23 职场文书
公司业务员管理制度
2015/08/05 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP