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调用三种数据库的方法(3)
Oct 09 PHP
php 论坛采集程序 模拟登陆,抓取页面 实现代码
Jul 09 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
基于PHP5魔术常量与魔术方法的详解
Jun 13 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
Nov 19 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
php curl上传、下载、https登陆实现代码
Jul 23 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
2007/09/30 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP经典面试题集锦
2015/03/19 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
python简单的函数定义和用法实例
2015/05/07 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
python字典的值可以修改吗
2020/06/29 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
在求职信中如何凸显个人优势
2013/10/30 职场文书
酒店副总岗位职责
2013/12/24 职场文书
蔬菜基地的创业计划书
2014/01/06 职场文书
敬老模范事迹
2014/05/21 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang