欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ThinkPHP在新浪SAE平台的部署实例_PHP

程序员文章站 2024-02-03 19:24:58
...
ThinkPHP

本文实例讲述了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平台的部署实例_PHP

2、创建一个版本,这里我埴1,如图所示:

ThinkPHP在新浪SAE平台的部署实例_PHP

3、上传代码包,完整上传代码包后如图所示:

ThinkPHP在新浪SAE平台的部署实例_PHP

4、创建数据库。打开数据库的路径是w3note » MySQL » 服务管理 »管理MySQL,我创建的数据库名称为WBlog,然后把数据表sql文件导入

5、配置前后台的项目入口文件,方法大同小异。下面是前台项目入口文件index.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的配置如下所示,似乎是通用的

代码如下:

// +----------------------------------------------------------------------
// | 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框架程序设计有所帮助。