php手记之01-tp5框架安装
1.1、介绍
在web领域,PHP是所有编程语言中比较受欢迎的一门语言! PHP已经诞生出几十种编程框架!但国内最热门和使用率最好的框架有Thinkphp和Laravel这两款PHP框架!
1.2、为何选择thinkphp
ThinkPHP是国内应用程度最高的一个PHP框架,简单易学是他的特点。很多人和企业选择它的原因,是因为它是国人开发,拥有非常丰富的中文文档和中文社区,有问题可以第一时间找到解决方案,可查询到的资料多。
1.3、开始使用
- 查看php的版本。使用的thinkphp5.1需要最低的PHP版本为PHP >= 5.6.0所以,这里你所需要安装的PHP版本一定比这个版本要高。
打开cmd窗口,输入 php –v

2.开启相关php扩展
同时也要开启如下扩展 php.ini文件。
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_mbstring.dll
extension=php_fileinfo.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_soap.dll
extension=php_mysqli.dll
extension=php_sockets.dll 【可选】
注:命令行下则打开后就生效,apache或nginx就需要重启相关的服务。
01-理解并使用composer (是PHP一个包管工具 解决源码包 依赖问题,一句话,composer是一个工具,是为php项目准备的软件管家。)
中文网址:http://www.phpcomposer.com/
composer资源仓库或应用市场
02-开始安装composer
下载composer.phar:https://getcomposer.org/download/,

把下载好的composer.phar文件复制到PHP环境变量指定的目录中,这里使用的是wamp

命令创建bat文件
echo @php "%~dp0composer.phar" %*>composer.bat


检查composer是否安装成功
由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长或是安装不成功,我们建议通过切换composer国内镜像来解决此类问题。当然有钱的情况下,可以购买相关的渠道来访问国外网络。
- 打开命令行工具窗口
composer config -g repo.packagist composer https://packagist.phpcomposer.com
注意:最近phpcomposer镜像存在问题,可以改成
备选方案
composer config -g repo.packagist composer https://packagist.laravel-china.org
1.4、安装与启动Thinkphp
1.4.1、环境要求
ThinkPHP5.1的环境要求如下:
PHP >= 5.6. PDO PHP Extension MBstring PHP Extension
第一个要求 命令行下PHP版本要达到要求
apache环境中PHP版本达到要求
两个终端中的环境要保持一致
1.4.2、安装
thinkphp5.1之前可以在thinkphp官方网站进行下载源码包,但是thinkphp5.1版本开始,官网不再提供下载版本,请使用Composer或者git方式安装和更新。
composer create-project [--prefer-dist] topthink/think=[版本号] tp5
如果不写版本号,则下载 php版本所支持的最高的稳定版本
例:
composer create-project --prefer-dist topthink/think=5.0.* tp5
注:
composer 表示执行composer程序
create-project 通过composer去创建项目
topthink/think 框架的名称
--prefer-dist 优先下载压缩包方式,而不是直接从github上下载源码
最终方案
composer create-project topthink/think=5.1.* tp5 --prefer-dist
1.4.3、两种方式启动thinkphp5.1
方案一:虚拟主机
配置apache2.4
# 设置虚拟主机
<VirtualHost *:>
# 设置网站目录
DocumentRoot "F:/www/class/web69/tp5.1/public"
# 设置网站域名
ServerName www.tp.com
# 错误日志
ErrorLog "F:/www/class/web69/tp5.1/logs/error.log"
# 成功日志
CustomLog "F:/www/class/web69/tp5.1/logs/access.log" combined
# 设置目录访问权限
<Directory "F:/www/class/web69/tp5.1/public">
# 指定目录启用特怀
Options Indexes FollowSymLinks
# 是否允许使用.htaccess文件
AllowOverride All
# 访问目录权限
Require all granted
</Directory>
</VirtualHost>
设置hosts文件

设置完成后,一定要重启一下apache服务,让配置生效
效果:通过浏览器看到如下图所示效果,表示,thinkphp5.1运行已经配置完成

方案二:命令行运行
php think run

看到下面浏览器的界面就是tp5.1,启动成功

php手记之01-tp5框架安装的更多相关文章
- ThinkPHP5.0框架开发--第1章 Tp5.0安装
ThinkPHP5.0框架开发--第1章 Tp5.0安装 第1章 Tp5.0 安装 ======================================================== 今 ...
- [小北De编程手记] : Lesson 01 玩转 xUnit.Net 之 概述
谈到单元测试,任何一个开发或是测试人员都不会觉得陌生.我想大多数的同学也都是接触过各种单元测试框架.关于单元测试的重要性,应该不会有太多的质疑.这个系列,我向大家介绍一下xUnit.Net的使用.就让 ...
- [小北De编程手记] : Lesson 01 - Selenium For C# 之 环境搭建
在我看来一个自动化测试平台的构建,是一种很好的了解开发语言,单元测试框架,自动化测试驱动,设计模式等等等的途径.因此,在下选择了自动化测试的这个话题来和大家分享一下本人关于软件开发和自动化测试的认识. ...
- PHP 服务器及TP5框架遇到的几个错误
一.Call to undefined function imagecreatefrompng(): LAMP环境搭建的博客,在提交内容的时候TP5框架报了一个错误,Call to undefined ...
- Go语言之高级篇beego框架安装与使用
一.beego框架 1.beego框架简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计 ...
- Nutch相关框架安装使用最佳指南(转帖)
Nutch相关框架安装使用最佳指南 Chinese installing and using instruction - The best guidance in installing and u ...
- 01 mybatis框架整体概况(2018.7.10)-
01 mybatis框架整体概况(2018.7.10)- F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10) maven用的是3.39的版本 ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- Java多线程系列--“JUC锁”01之 框架
本章,我们介绍锁的架构:后面的章节将会对它们逐个进行分析介绍.目录如下:01. Java多线程系列--“JUC锁”01之 框架02. Java多线程系列--“JUC锁”02之 互斥锁Reentrant ...
- java多线程系类:JUC锁:01之框架
本章,我们介绍锁的架构:后面的章节将会对它们逐个进行分析介绍.目录如下:01. Java多线程系列--"JUC锁"01之 框架02. Java多线程系列--"JUC锁&q ...
随机推荐
- 元组和range
元组 只读列表,不支持增 删 改:但是元组里的列表可以增删改 元组其实就是通过逗号(,)设定的,和小括号并没有什么必然的关系,所以当元组只有一个元素的时候,需要在元素后加个逗号 存储大量数据,有序.不 ...
- 注册码云和使用git
1.4.1 码云 注册码云 码云 填写信息注册后进入 创建仓库 问题:提交到码云的中文变成乱码 可以改变本机文件保存的编码为UTF-8即可 1.4.2 git git官网下载安装包 双击安装包开始安装 ...
- Python 一些内置函数的总结~~~~
1. type() 两种用法 a. 当传入参数为一个时,返回值为参数的类型 b. 当传入参数为三个时,type(name, bases, dict) name: 类名 bases: 继承父类的元组,可 ...
- 【问题】yum安装软件报错ERROR:dbus.proxies
转自:Yum安装报错:ERROR:dbus.proxies 环境: [红帽企业Linux.6.4.服务器版].rhel-server-6.4-x86_64-dvd(ED2000.COM).iso 安装 ...
- python中redis
一.简介 二.redis的安装和使用 三.python操作readis之安装和支持存储类型 四.python操作redis值普通链接 五.python操作redis值连接池 六.操作之String操作 ...
- 脚本shell
vim删除以#,空格开头的行 1,删除以#号开头的行: :g/^#/d :%s/^#.*\n 2,删除以空格开头的行: :g/^\s/d “\s代表空格” :%s/^ ...
- python在算法题中判断输入结束(EOF)
有些算法题是这样要求的,一行输入一行数据,然后没有规定我要输入多少行,你要自行判断文件结束EOF,否则是会runtime error的,因为oj内部都是用文件来进行读写的. 例如a+b,每一行输入a ...
- RollingRegression(滚动回归分析)之Python实现
# -*- coding: utf-8 -*-"""Created on Sat Aug 18 11:08:38 2018 @author: acadsoc"& ...
- 【xsy1103】随机数表(RanMat)矩阵快速幂
题目大意:你生成了一个随机数表,生成机制是这样子的: $a[i]=A1a[i-1]+A2(2≤i≤m)$ $b[i]=B1b[i-1]+B2(2≤i≤m)$ $M[1][y]=a[y]%P,(1≤y≤ ...
- java.sql.SQLException: connection holder is null;
一.问题来源分析 出现的错误 : Cause: java.sql.SQLException: connection holder is null; uncategorized SQLException ...