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也可以?成Shell Script
Oct 09 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
PHP冒泡算法详解(递归实现)
Nov 10 PHP
PHP静态文件生成类实例
Nov 29 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
PDO::query讲解
Jan 29 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 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
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
JS控件的生命周期介绍
2012/10/22 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
js实现本地图片文件拖拽效果
2017/07/18 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
OpenCV实现人脸识别
2017/04/07 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
Python列表如何更新值
2020/05/27 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
什么是岗位职责
2013/11/12 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
工地安全质量标语
2014/06/07 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
银行实习推荐信
2015/03/27 职场文书
2016春节放假通知范文
2015/08/18 职场文书
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
openstack云计算keystone组件工作介绍
2022/04/20 Servers