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 ...
随机推荐
- Qt定时器
PS: 本案例使用的是Qt 4.8.4版本,不同版本代码可能会有差异. 第一步: // 重写此虚函数(继承自QObject) virtual void timerEvent(QTimerEvent* ...
- 后台对象转JSON字符串传到前台,前台JSON字符串转对象绑定标签赋值
/// <summary> /// 创建换货单-自动获取对应的数据(后端) /// </summary> [HttpGet] public ActionResult GetPr ...
- 【DRF框架】路由组件
视图组件涉及的路由补充: from rest_framework.viewsets import ViewSetMixin 对路由进行了重新的分发,重写了as_view() 方法,重新封装了请求方法 ...
- Windows下动态库的制作与使用
创建静态库
- MySQL数据库语法-单表查询练习
MySQL数据库语法-单表查询练习 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是对聚合函数和分组的练习. 一.数据表和测试数据准备 /* @author :yinz ...
- jar命令详解
原文链接:https://www.cnblogs.com/anyehome/p/9435371.html JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的, ...
- Codeforces #503 C. Elections(贪心,逆向
我的参考的博客地址 题目 逆向考虑. 暴力遍历 k(k是1到n/2+1 范围内的),挑出对于每一个k,记对于党派 i,num[ i ]为其票数.num[ i ]小于k-1的就不用改变投票了(这部分是比 ...
- Class文件中的常量
常量池计数器 常量池是class文件中非常重要的结构,它描述着整个class文件的字面量信息. 常量池是由一组constant_pool结构体数组组成的,而数组的大小则由常量池计数器指定. 常量池计数 ...
- python_面向对象——封装
1.私有属性 class Person(object): def __init__(self,name,age): self.name = name self.age = age #实例属性 self ...
- ajax向服务器发出get和post请求
假设有个网站A,它有一个简单的输入用户名的页面,界面上有两个输入框,第一个输入框包含在一个form表单里用来实现form提交,第二个输入框是单独的.没有包含在form里,下面就用这两个输入框来学习下j ...