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分页时出现的Fatal error的解决方法
Apr 18 PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
PHP的preg_match匹配字符串长度问题解决方法
May 03 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
php简单实现批量上传图片的方法
May 09 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 PHP
laravel-admin的图片删除实例
Sep 30 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
php实现快速对二维数组某一列进行组装的方法小结
Dec 04 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 无限分类的树类代码
2009/12/03 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
php中session与cookie的比较
2015/01/27 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
文本链接逐个出现的js脚本
2007/12/12 Javascript
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
python中MethodType方法介绍与使用示例
2017/08/03 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
塔吉特百货公司官网:Target
2017/04/27 全球购物
医学实习生自我鉴定
2013/12/12 职场文书
激励口号大全
2014/06/17 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
高中教师个人总结
2015/02/10 职场文书
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers