ThinkPHP在新浪SAE平台的部署实例
本文实例讲述了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/如图所示:
2、创建一个版本,这里我埴1,如图所示:
3、上传代码包,完整上传代码包后如图所示:
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框架程序设计有所帮助。
上一篇: First Day Python介绍
下一篇: Linux系统命令中screen命令详解