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调用mysql存储过程
Feb 14 PHP
php disk_free_space 返回目录可用空间
May 10 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP实现的简单异常处理类示例
May 04 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 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/10/09 PHP
PHP 数组入门教程小结
2009/05/20 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
js的闭包的一个示例说明
2008/11/18 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
js实现时钟定时器
2020/03/26 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python sort、sort_index方法代码实例
2019/03/28 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
一套.net面试题及答案
2016/11/02 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
房地产销售员的自我评价分享
2013/12/04 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
在职员工证明书
2014/09/19 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android