ThinkPHP学习笔记(一)ThinkPHP部署
已经下载了wampserver,以后有时间试下在本地运行ThinkPHP。
在app/lib/Action/文件夹下可以为每一个模块定义控制器类,一个模块可以包含多个操作方法,当有请求的时候,会从URL参数中解析当前请求的模块和操作。比如定义的默认控制器类IndexAciton.class.php:
<?php class IndexAction extends Action{ ptotect function _initialize(){ header("Content-Type:text/html;charset=utf-8"); } public function index(){ $this->display(); } public function imit(){ echo "<h2>Sae服务模拟器功能测试(以下服务在本地也可以运行):</h2>"; } }
访问http://localhost/,系统会访问默认的模块(Index)的默认操作(index)。相对的输入http://localhost/Index/imit,系统就会访问默认的模块(Index)的操作方法(imit)。这种URL模式是PATHINFO模式,ThinkPHP的默认格式,还可以在ThinkPHP/Conf/convention.php里设置其他格式,如普通模式、REWRITE模式和兼容模式。
只是笔记,为什么不能设置为仅自己可见呢,我写的乱七八糟都不好意思给人看啊。
URL请求的REWRITE模式,是在PATHINFO模式的基础上添加重写规则的支持,Apache的话,是在入口文件同级处添加.htaccess文件,内容是:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
只有这样是不行的,还需要开启Apache的rewrite功能。在httpd.conf配置文件中找到LoadModule rewrite_module modules/mod_rewrite.so去掉前面的#,找到AllowOverride None改为AllowOverride All。如此才有效。
相关推荐
-
在Ubuntu 14.04上部署 PHP 环境及 WordPress
软件及版本选择 Ubuntu 14.04 Ubuntu 是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择.而 14.04 是目前最新的 LTS 版本,目前已经发布了半年了,基本是目前支持最好的版本. Nginx Nginx 是一个轻量级的,配置灵活,擅长并发的 Web 服务器. PHP-FPM PHP-FPM 是目前官方推荐的最佳的运行模式. MariaDB MySQL 的替代品,毕竟目前 MySQL 的创始人已经不建议我们使用 MySQL 了. 基本配置 通常当你
-
部署PHP项目应该注意的几点事项分享
在部署PHP项目时,有几点需要特别注意,也是初学者比较容易忽视的点: 一.下载WAMPServer后,如何安装配置? 二.如何通过客户端管理MySQL数据库? 三.如何通过IP地址访问PHP网站,如果在局域网内部访问服务器上的PHP网站? 针对第一点,注意以下内容: 1.下载WAMPServer,地址可以自己去找: 2.安装WAMPServer 3.此时PHP.Apache.MySQL都已经装好,甚至可以立即访问http://localhost,也可以通过phpMyAdmin访问到MySQL数据
-
Windows下部署Apache+PHP+MySQL运行环境实战
官方下载地址:MySQL http://www.mysql.com/downloads/mysql/ 找个MSI文件下下来.Apache http://httpd.apache.org/download.cgiPhp http://windows.php.net/download/#php-5.4 首先是MySQL,(这边吐槽一下被Oracle收购的MySQL) 一步一步往下,无需更多的配置 然后安装Apache, 也是一步一步往下 安装PHP,(我偷懒我自豪, 在PHP下载页面找那个Insta
-
部署PHP时的4个配置修改说明
以下就是部署PHP时的4个配置修改说明,大家一个一个进行学习研究. 1.short_open_tag 是什么呢? 决定是否允许使用代码开始标志的缩写形式(<? ?> ). 如果要和 XML 结合使用PHP,可以禁用此选项以便于嵌入使用<?xml ?> .否则还可以通过php来输出,例如:<?php echo '<?xml version="1.0"'; ?> . 如果禁用了,必须使用 PHP 代码开始标志的完整形式(<?php ?>
-
CentOS 6.1 环境中部署nginx、php(包括fastcgi)、虚拟主机配置
部署时间:2012-07-24 OS环境:CentOS 6.1 nginx:nginx-1.2.2 PHP:PHP5.3.14 0.安装依赖包 复制代码 代码如下: yum install openssl-devel pcre-devel zlib-devel libjpeg-devel libpng-devel freetype-devel gcc make 1.添加 www 用户用来执行nginx 复制代码 代码如下: useradd -M -r -s /sbin/nologin -d /o
-
ThinkPHP在新浪SAE平台的部署实例
本文实例讲述了ThinkPHP在新浪SAE平台的部署方法.分享给大家供大家参考.具体实现方法如下: ThinkPHP自从thinkphp3.0版本开始提供了SAE平台支持,并具备众多特性,支持本地化开发和调试以及部署切换,让thinkphper轻松过渡到SAE开发. 一.准备工作: 1.您需要具备SAE的账号,如果您没有该账号,请到 SAE官方网站申请. 2.自己开发或者找一个基于thinkphp3.12开发的程序,本次测试使用的是博客程序WBlog3.1.3版本,没有的可以点击此处本站下载.
-
在Nginx上部署ThinkPHP项目教程
前段时间用Apache配合TP开发了一个小型网站,也算是我使用TP的第一次实战.我习惯使用pathinfo模式,本地运行一切正常,然而部署到服务器上时,由于对方使用的是Nginx,默认是不支持ThinkPHP的pathinfo模式,所以导致路径错误,出现了页面循环跳转的问题,于是就把nginx下载下来在本地亲自测试. 其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo.为了使问题简单化,我选择
-
thinkPHP学习笔记之安装配置篇
国产框架thinkPHP,是一款MVC框架,这个框架最初模拟JAVA的struts框架,使用单一入口文件模拟JAVA的过滤器,使用action来模拟STRUTS的控制器ACTION,所以为什么他的MVC之中,M是model,V是view,而control却是action的原因. 在3.2.3版本中,control改成了C,也是趋于形式,因为JAVA世界的springMVC开始流行,spring使用的control,不在使用action这种定义,其实action来表示control本身就有一定的误
-
ThinkPHP学习笔记(一)ThinkPHP部署
已经下载了wampserver,以后有时间试下在本地运行ThinkPHP. 在app/lib/Action/文件夹下可以为每一个模块定义控制器类,一个模块可以包含多个操作方法,当有请求的时候,会从URL参数中解析当前请求的模块和操作.比如定义的默认控制器类IndexAciton.class.php: <?php class IndexAction extends Action{ ptotect function _initialize(){ header("Content-Type:tex
-
thinkphp学习笔记之多表查询
在操作过程中,两表查询都没有问题,但是三表查询就开始出现问题 有以下三张表,分表为pl表(uid,content),user表(id,username),lyb表(uid,title) 多表查询操作有以下几种方法: ㈠视图模型(推荐) 定义视图模型,只需要继承Think\Model\ViewModel,然后设置viewFields属性即可 public $viewFields = array( 'pl' =>array('uid','rid','content'), 'user' =>arra
-
Docker学习笔记之Docker部署Java web系统
Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app 2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下 3.解压两个tar.gz文件 tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux
-
Docker学习笔记之k8s部署方法
本文记录了如何在ubuntu 14.04裸机上部署k8s集群,参考自官方文档. 拓扑结构 1master + 2minion k8s-master 192.168.0.201 master k8s-node1 192.168.0.202 minion k8s-node2 192.168.0.203 minion 准备工作系统 安装Ubuntu 14.04 LTS 64bit server版本系统,配置好hostname和ip. 在更新国内的软件源的时候,由于GFW的原因,经常会出现md5校验错误
-
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
本文实例讲述了从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记.分享给大家供大家参考,具体如下: 用tp3.2.3做了不少项目,但是毕竟要与时代接轨,学习一些新的框架,比如tp5 以下记录一些学习中遇到的问题及解决办法,还有tp3.2和tp5.0的一些区别,适合给用过tp3没用过tp5的童鞋做个参考. 随着学习不断更新...... +++++++++++++++++++++++分割线总是要有的+++++++++++++++++++++++ 首先到tp官网下载了一个最新的Think
-
JavaScript学习笔记之ES6数组方法
ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台的ES5.目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本.但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中. ES6给数组添加了一些新特性,而这些新特性到目前为止完全可以运用到自己的业务层.在这一节中将总结有关于ES6给数组提供一些新特性的使用方法. ES6提供
-
Symfony2学习笔记之模板用法详解
本文实例讲述了Symfony2学习笔记之模板用法.分享给大家供大家参考,具体如下: 我们知道,controller负责处理每一个进入Symfony2应用程序的请求.实际上,controller把大部分的繁重工作都委托给了其它地方,以使代码能够被测试和重用.当一个controller需要生成HTML,CSS或者其他内容时,它把这些工作给了一个模板化引擎. 模板: 一个模板仅仅是一个文本文件,它能生成任意的文本格式(HTML,XML,CSV,LaTex...).最著名的模板类型就是PHP模板了,可以
-
spring boot 学习笔记(入门篇)
简介: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 优点: 其实就是简单.快速.方便!平时如果我们需要搭建一个spring web项目的时候需要怎么
-
Activiti工作流学习笔记之自动生成28张数据库表的底层原理解析
网上关于工作流引擎Activiti生成表的机制大多仅限于四种策略模式,但其底层是如何实现的,相关文章还是比较少,因此,觉得撸一撸其生成表机制的底层原理. 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地方,例如,框架用到以命令模式.责任链模式.模板模式等优秀的设计模式来进行框架的设计. 故而,是值得好好研究下Activiti这个框架的底层实现. 我在工作当中现
随机推荐
- 脚本吧 - 幻宇工作室用到js,超强推荐base.js
- java selenium 操作浏览器实例
- Mongo复制集同步验证的实例详解
- 利用python微信库itchat实现微信自动回复功能
- Java高级面试题小结
- java交换排序之鸡尾酒排序实现方法
- 探索ORACLE之ASM概念(完整版)
- js验证上传图片的方法
- asp.net中List的使用方法
- 如何在旧的PHP系统中使用PHP 5.3之后的库
- 从PHP $_SERVER相关参数判断是否支持Rewrite模块
- C#多线程编程详解
- 探讨register关键字在c语言和c++中的差异
- 浅析c++ 宏 #val 在unicode下的使用
- MySQL索引之主键索引
- C语言实现的一个万年历小程序
- PHP中strtotime函数使用方法详解
- python 时间戳与格式化时间的转化实现代码
- 页面编码codepage=936和65001的区别
- 在EF中使用MySQL的方法及常见问题