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 命令行参数详解及应用
May 18 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
使用php测试硬盘写入速度示例
Jan 27 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
Nov 29 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
浅谈PHP中的那些魔术常量
Dec 02 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中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
joomla数据库操作示例代码
2016/01/06 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
利用Python获取操作系统信息实例
2016/09/02 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
pyqt5中动画的使用详解
2020/04/01 Python
python更新数据库中某个字段的数据(方法详解)
2020/11/18 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
感恩祖国演讲稿
2014/09/09 职场文书
学位证书委托书
2014/09/30 职场文书
2014年党员整改措施
2014/10/24 职场文书
公务员年度个人总结
2015/02/12 职场文书
关于五一放假的通知
2015/08/18 职场文书