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 ...
随机推荐
- deploy KBA 2167993
The default trace shows the following error: ****************************************** Unable to cr ...
- linux驱动开发随手记【1】
1.一个patch只完成一项任务 2.用vim编辑多个文件,想同时关闭所有文件时候,可以用 :qall 命令 .vim用户手册08 3.mmc dev 0.mmc为U-boot命令,这句话的含义是设置 ...
- flask-sqlalchemy使用及数据迁移
flask-sqlalchemy是flask框架在sqlalchemy基础上改造的一个orm框架 现在有两个实体Article文章和Category分类 一个分类下可能有多篇文章 相关示例: 项目相关 ...
- select加锁分析(Mysql)
[原创]惊!史上最全的select加锁分析(Mysql) 前言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢 select * from table where id = ? select * ...
- TCP/IP三次挥手,四次断开(精简)
很多协议都是基于TCP/IP协议的基础之上进行工作的,可能我们了解这些原理近期看来并无实际作用,因为它不像如一些web服务器配置一样,配置了我就可以使用,就可以提供服务. 但是从我们长远发展角度来看, ...
- spice在桌面虚拟化中的应用系列之一(spice简介,性能优化等)
1.spice介绍 1.1 spice简介 spice是由Qumranet开发的开源网络协议,2008年红帽收购了Qumranet获得了这个协议.SPICE是红帽在虚拟化领域除了KVM的又一“新兴技术 ...
- nginx连接php测试
1 nginx连接php [root@web01 /application/nginx/conf/conf.d]# cat docs.conf server { server_name docs.ol ...
- Java程序员完美设置,Mac编程指南
重装了不知道多少次Windows,Linux发行版换来换去总是觉得不满意,终于下定决心在年头买了人生中第一台Mac. 为什么是Mac 现在的移动端.服务器端跑的大多数都是Unix系统,熟悉Un ...
- [Ynoi2017]由乃的OJ
题意 由乃正在做她的OJ.现在她在处理OJ上的用户排名问题.OJ上注册了n个用户,编号为1-",一开始他们按照编号 排名.由乃会按照心情对这些用户做以下四种操作,修改用户的排名和编号:然而由 ...
- [Angular] Show a Loading Indicator for Lazy Routes in Angular
We can easily code split and lazy load a route in Angular. However when the user then clicks that la ...