热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

这篇文章主要介绍了ThinkPHP在新浪SAE平台的部署的实现方法,以实例的形式详细讲述了WBlog的完整部署过程,需要的朋友可以参考下
本文实例讲述了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配置

代码如下:

<&#63;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的配置如下所示,似乎是通用的

代码如下:

<&#63;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',
);
&#63;>

到这里似乎已经完成了,但是还要注意以下两点。

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

推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
author-avatar
梦里的天真575
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有