自学PHP中,很多东西都不熟悉,在此做个记录,方便以后再次搭建PHP环境.这篇文章基本按照原文  ThinkPHP5开发环境安装和配置 ,在此感谢该作者

一、实验目的

  1、掌握ThinkPHP5(简称TP5)开发环境安装和配置。

二、实验内容

  1、掌握AppServ开发环境安装。
  2、掌握TP5开发环境安装。
  3、掌握Composer开发环境安装。

三、实验步骤及过程

1、环境要求

  我们选择在Win8操作系统下学习ThinkPHP5的开发,开发环境如下表所示:

工具 描述
AppServ [https://www.appserv.org/]
ThinkPHP5应用项目 [https://github.com/top-think/think]
ThinkPHP5核心框架 [https://github.com/top-think/framework]
Composer [https://getcomposer.org/]

  具体描述如下:

  • AppServ - AppServ : Apache + PHP + MYSQL
    当前AppServ最新版本:AppServ 8.6.0 ,发布于2017-01-25,具有如下特性:
 - Apache 2.4.25
- PHP 5.6.30
- PHP 7.1.1
- MySQL 5.7.17
- phpMyAdmin 4.6.6
- Support TLS,SSL or https
- Can switch the PHP version as you need.

2、AppServ安装

  安装过程如下图所示,包括Apache、PHP和MySQL安装。
  

  

    

  安装成功后,在浏览器中输入localhost,弹出以下主页,则说明安装成功。

  

3、Composer安装

3.1 Composer简介

  Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

  • 依赖管理

      Composer 不是一个包管理器。它涉及 "packages" 和 "libraries",它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。Composer 受到了 node's npm 和 ruby's bundler 的强烈启发。而当时 PHP 下并没有类似的工具。

      Composer 将这样为你解决问题:

      a) 你有一个项目依赖于若干个库。

      b) 其中一些库依赖于其他库。

      c) 你声明你所依赖的东西。

      d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

  • 声明依赖关系

      比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。

{
"require": {
"monolog/monolog": "1.2.*"
}
}

  我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。

3.2 安装过程

  • 使用安装程序

      这是将 Composer 安装在你机器上的最简单的方法。下载并且运行 Composer-Setup.exe[https://getcomposer.org/Composer-Setup.exe],它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。

  • 手动安装

      设置系统的环境变量 PATH 并运行安装命令下载 composer.phar 文件:

$ C:\Users\username>cd C:\bin
$ C:\bin>php -r "readfile('https://getcomposer.org/installer');" | php

注意: 如果收到 readfile 错误提示,请使用 http 链接或在 php.ini 中开启 php_openssl.dll 。

  在composer.phar 同级目录下新建文件composer.bat

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

3.3 测试安装是否成功

  关闭当前的命令行窗口,打开新的命令行窗口进行测试:

C:\Users\username>composer -V
要是出现下图,就证明已经安装好 composer
 

4、ThinkPHP5安装

  严格来说, ThinkPHP5 无需安装过程,这里所说的安装其实就是把ThinkPHP 框架放入WEB 运行环境(前提是你的WEB运行环境已经OK)。可以通过下面几种方式获取和安装ThinkPHP。

4.1 TP5三种方式安装

  • 官网下载安装

      获取ThinkPHP 的方式很多,官方网站(http://thinkphp.cn)提供了稳定版本或者带扩展完整版本的下载。 注意:官网的下载版本不一定是最新版本,GIT版本获取的才是保持更新的版本。

  • Composer安装

      如果已经安装有 Composer ,可以用composer self-update命令更新Composer 为最新版本。然后在命令行下面,切换到你的web根目录下面并执行下面的命令:就是在

  • 安装好的AppServ目录下将TP5安装在此
composer create-project topthink/think tp5 --prefer-dist
git clone https://github.com/top-think/think tp5

  然后切换到tp5 目录下面,再克隆核心框架仓库:

git clone https://github.com/top-think/framework thinkphp

  两个仓库克隆完成后,就完成了ThinkPHP5.0 的Git 方式下载,如果需要更新核心框架的时候,只需要切换到thinkphp核心目录下面,然后执行:

git pull https://github.com/top-think/framework

4.2 ThinkPHP5框架

  • TP5 下载完成的目录: 
        ``
    ├─application 应用目录 
    ├─extend 扩展类库目录(可定义) 
    ├─public 网站对外访问目录 
    ├─runtime 运行时目录(可定义) 
    ├─vendor 第三方类库目录(Composer) 
    ├─thinkphp 框架核心目录 
    ├─build.PHP 自动生成定义文件(参考) 
    ├─composer.json Composer定义文件 
    ├─LICENSE.txt 授权说明文件 
    ├─README.md README 文件 
    ├─think 命令行工具入口
* 核心框架目录的结构如下:
    ``
├─thinkphp 框架系统目录
│ ├─lang 语言包目录
│ ├─library 框架核心类库目录
│ │ ├─think think 类库包目录
│ │ └─traits 系统 traits 目录
│ ├─tpl 系统模板目录
│ ├─.htaccess 用于 apache 的重写
│ ├─.travis.yml CI 定义文件
│ ├─base.php 框架基础文件
│ ├─composer.json composer 定义文件
│ ├─console.php 控制台入口文件
│ ├─convention.php 惯例配置文件
│ ├─helper.php 助手函数文件(可选)
│ ├─LICENSE.txt 授权说明文件
│ ├─phpunit.xml 单元测试配置文件
│ ├─README.md README 文件
│ └─start.php 框架引导文件

4.3 ThinkPHP5入口文件index.php

  index.php在public目录下。在ThinkPHP中,按照缺省的设置,编辑应用程序入口文件,包括定义应用程序入口和加载框架引导文件,注意文件的目录结构。当前index.php文件在public目录下,如下所示。

<?php
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

  假设系统安装目录为tp5,则在浏览器端输入:http://localhost/tp5/public/

4.4 THINKPHP5 若出现下图错误

1.在该目录下

查看是否有开启了重定向

2.在该目录下

RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L] 改成

RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

即可看到欢迎页面:
  

  恭喜!环境已经安装好,可以进行正式的软件项目开发了。

PHP开发环境及搭建的更多相关文章

  1. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  2. Idea开发环境中搭建Maven并且使用Maven打包部署程序

    1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOM ...

  3. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  4. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  5. Linux环境下Android开发环境的搭建

    本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK ...

  6. Apache+MySQL+PHP开发环境的搭建(二)

    通过自主选择相应的apache,mysql,php等软件,根据自己的应用开发需求进行安装.此方法搭建的环境自主性较强,搭建过程较为复杂,繁琐. 1.所需软件: Apache: http-2.2.22- ...

  7. Apache+MySQL+PHP开发环境的搭建(一)

    通过套件来安装和配置php开发环境. 1.所需软件:AppServ(因为是开源,任何网站都能下载) 安装本软件基本上就是下一步. 2.进行安装 选择一个盘安装该软件点击next继续: 根据自己的实际情 ...

  8. windows上JSP开发环境全搭建

    JSP开发环境全搭建 最近需要用到JSP做项目,所以要配置JSP的开发环境,总结一下配置步骤以备以后再配置需要. 配置JAVA开发环境,配置JDK 下载JDK,在这里下载开发所需的JDK,可以根据自己 ...

  9. Cordova开发环境的搭建

    Cordova开发环境的搭建 原文地址:http://imziv.com/blog/article/read.htm?id=66 Cordova为目前做混合式开发中比较受欢迎的一个解决方案了,并且拥有 ...

  10. Android_开发工具的下载和开发环境的搭建

    一.Android开发工具的下载  Android开发者官网: http://developer.android.com/           Android开发工具:http://www.andro ...

随机推荐

  1. BZOJ3991:寻宝游戏 (LCA+dfs序+树链求并+set)

    小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可以任意在地图的道路上行走 ...

  2. ACM学习历程——POJ1260 Pearls(动态规划)

    Description In Pearlania everybody is fond of pearls. One company, called The Royal Pearl, produces ...

  3. 【QT】《转载》常用快捷键

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  4. rman理论(一)

    1) 快照控制文件:开始备份后,RMAN 需要这些信息在备份操作期间保持一致,也就是说RMAN需要一个读取一致的控制文件视图. 除非RMAN 在备份持续时间内锁定控制文件,否则数据库会不断更新控制文件 ...

  5. jquery中attr() & prop() 的区别与其实现方法

    $(function(){ $('#check').attr('checked'); // undefind ???一头雾水 }) 在jquery中 attr 本来就是用来设置或者获取属性的,可是上面 ...

  6. android apk 防止反编译技术第二篇-运行时修改字节码

    上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止a ...

  7. js关于为DOM对象添加自定义属性的方式和区别

    DOM对象的三种在添加自定义属性的方式 一是 通过 “.”+“属性名” 二是 setAttribute()(getAttribute()获取) 三是 直接在元素标签上加属性  如:<div  n ...

  8. 一个工程多个Target

    当我们同一个工程需要在不同情形下编译打包,比如打个人包.企业包的时候,其中可能有一些细小的差别,又不想每次都先修改再打包的时候,我们可以通过创建多个Target来实现. 1.copy原有Target ...

  9. 关于 == 和 equals() 的区别

    对于正在学习java的,以及入行不久的小伙伴们,在面试中经常会被面试官问到 "  == 和 equals() 的区别 ?"的问题,你是否回答好了呢? 示例一: //两个基本类型数据 ...

  10. 在UI程序设计中使用BackgroundWorker进行多线程异步处

    WinForm的应用程序中如果执行了一个的非常冗长的处理操作,(比如文件检索,大运算量计算),在执行时就会锁定用户界面,虽然主活动窗口还在运行,但用户无法与程序交互,无法移动窗体或改变窗体大小,导致程 ...