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 相关文章推荐
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
zf框架db类的分页示例分享
Mar 14 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
php文件夹的创建与删除方法
Jan 24 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
PHP中有关长整数的一些操作教程
Sep 11 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
用PHP制作静态网站的模板框架
2006/10/09 PHP
浅谈php中mysql与mysqli的区别分析
2013/06/10 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
PHP实现简易图形计算器
2020/08/28 PHP
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
JavaScript canvas实现跟随鼠标事件
2020/02/10 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python全局变量操作详解
2015/04/14 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
用Django写天气预报查询网站
2018/10/21 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
python圣诞树编写实例详解
2020/02/13 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
2014年班主任自我评价范文
2014/04/23 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
校运会通讯稿
2015/07/18 职场文书
初级职称评定工作总结
2015/08/13 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle
PHP RabbitMQ消息列队
2022/05/11 PHP