打开官网,找到这里点击手册

或者直接访问 这里

可以看到TP6已经有了赞助商

然后往后面阅读,发现他推荐我们读这个

这个入门必读还是不错的,简单的看看就行

后面就开始安装吧

首先注意自己的环境php版本以及composer是否已经安装配置了

后面有这个提示说composer太慢可以这样配置,我觉得华为云的挺好的,我们就采用这个

composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/

然后就是初步安装

composer create-project topthink/think tp6

这个tp6就是你要存储的代码的文件夹,这里你可以随便改,之后就创建了我们的项目代码了.

执行过程

Creating a "topthink/think" project at "./tp6"
Installing topthink/think (v6.0.13)
- Installing topthink/think (v6.0.13): Loading from cache
Created project in /home/zhaoyao/script/php/tp/tp6
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 16 installs, 0 updates, 0 removals
- Installing topthink/think-helper (v3.1.6): Loading from cache
- Installing psr/log (1.1.4): Loading from cache
- Installing psr/simple-cache (1.0.1): Loading from cache
- Installing topthink/think-orm (v2.0.54): Loading from cache
- Installing symfony/polyfill-php80 (v1.26.0): Loading from cache
- Installing symfony/polyfill-php72 (v1.26.0): Loading from cache
- Installing symfony/polyfill-mbstring (v1.26.0): Loading from cache
- Installing symfony/var-dumper (v4.4.44): Loading from cache
- Installing psr/container (1.1.2): Loading from cache
- Installing psr/cache (1.0.1): Loading from cache
- Installing league/mime-type-detection (1.11.0): Loading from cache
- Installing league/flysystem (1.1.9): Loading from cache
- Installing league/flysystem-cached-adapter (1.1.0): Loading from cache
- Installing psr/http-message (1.0.1): Loading from cache
- Installing topthink/framework (v6.0.13): Loading from cache
- Installing topthink/think-trace (v1.4): Loading from cache
symfony/var-dumper suggests installing ext-intl (To show region name in time zone dump)
symfony/var-dumper suggests installing symfony/console (To use the ServerDumpCommand and/or the bin/var-dump-server script)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
league/flysystem-cached-adapter suggests installing ext-phpredis (Pure C implemented extension for PHP)
Writing lock file
Generating autoload files
> @php think service:discover
Succeed!
> @php think vendor:publish
Succeed!
6 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

然后进入tp6文件夹

cd tp6

进行列表查看 ls -l

total 80
drwxrwxr-x 3 zhaoyao zhaoyao 4096 5月 31 12:54 app/
-rw-rw-r-- 1 zhaoyao zhaoyao 1099 5月 31 12:54 composer.json
-rw-rw-r-- 1 zhaoyao zhaoyao 32490 8月 8 09:52 composer.lock
drwxrwxr-x 2 zhaoyao zhaoyao 4096 8月 8 09:52 config/
drwxrwxr-x 2 zhaoyao zhaoyao 4096 5月 31 12:54 extend/
-rw-rw-r-- 1 zhaoyao zhaoyao 1822 5月 31 12:54 LICENSE.txt
drwxrwxr-x 3 zhaoyao zhaoyao 4096 5月 31 12:54 public/
-rw-rw-r-- 1 zhaoyao zhaoyao 1459 5月 31 12:54 README.md
drwxrwxr-x 2 zhaoyao zhaoyao 4096 5月 31 12:54 route/
drwxrwxr-x 2 zhaoyao zhaoyao 4096 5月 31 12:54 runtime/
-rw-rw-r-- 1 zhaoyao zhaoyao 180 5月 31 12:54 think
drwxrwxr-x 8 zhaoyao zhaoyao 4096 8月 8 09:52 vendor/
drwxrwxr-x 2 zhaoyao zhaoyao 4096 5月 31 12:54 view/

好了,代码已经好了,你可以选择直接将站点部署到 public/ 目录下,也可以选择直接

php think run

然后就跑起来了 访问 http://127.0.0.1:8000/ 即可.

后续思考:

我们使用命令行方式运行起这个站点,等于让php做了web server服务器,那么这个终端就要一直运行挂着,不能中断,不然ctrl+c就把服务断了.

使用命令行运行,那些代码就等于在用命令行执行的身份在跑,那权限和身份是不是会有变化呢?普通的apache/nginx的权限跑的代码是没有那么高的权限的,现在用命令行跑,肯定权限高了不少,到时候又该如何防止权限泛滥呢?

正因为权限提高了,我们是不是可以做一些权限的事情呢?比如利用这个做一个svn代码拉取工具,执行svn up,同理git,进行git pull 命令,拉取代码,就相当与我们只要页面上面点击一下就能实现服务器上面的代码拉取自动更新了.

命令行这样执行和直接php fpm这样执行效率上面有什么差异吗?代码需要每次都重新加载吗?fpm的压力是否会减小?服务器是否可以减小CPU消耗呢?

1.TP6的入门-安装的更多相关文章

  1. Debian 入门安装与配置2

    Debian 入门安装与配置2 1. C/C++开发必装软件 atp-get install gcc    这个不用说,用来编译C程序 apt-get install g++ 用来编译C++程序 ap ...

  2. Debian 入门安装与配置1

    Debian 入门安装与配置1 最近安装了多个发行版本的Linux,包括Ubuntu.Fedora.Centos和Debian,发现只有Debian在界面和稳定性等综合特性上表现最优,自己也最喜欢,所 ...

  3. Activity工作流(2)-入门安装运行第一个例子

    转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  4. elk系列1之入门安装与基本操作【转】

    preface 我们每天都要查看服务器的日志,一方面是为了开发的同事翻找日志,另一方面是巡检服务器查看日志,而随着服务器数量以及越来越多的业务上线,日志越来越多,人肉运维相当痛苦了,此时,参考现在非常 ...

  5. react入门安装

    react的入门安装 1.react的适用方法有两种,其一是依赖在线的cdn地址: https://reactjs.org/docs/cdn-links.html 官方给的cdn地址如下 <sc ...

  6. Redis介绍及入门安装及使用

    Redis介绍及入门安装及使用 什么是Redis Redis is an open source (BSD licensed), in-memory data structure store, use ...

  7. JAVA手记 JAVA入门(安装+Dos下运行)

    JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...

  8. zookeeper windows 入门安装和测试

    一.序言       以下是我对zookeeper 的一些理解:       zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”. 栗子1号: 假设我是一家 ...

  9. [译]:Orchard入门——安装Orchard

    原文链接:Installing Orchard 文章内容基于Orchard 1.8版本 安装Orchard的方式 主要有以下四种方式安装Orchard: 利用Microsoft Web Platfor ...

  10. Kafka入门 --安装和简单实用

    一.安装Zookeeper 参考: Zookeeper的下载.安装和启动 Zookeeper 集群搭建--单机伪分布式集群 二.下载Kafka 进入http://kafka.apache.org/do ...

随机推荐

  1. win指令学习收集

    要执行多句,需要用到逻辑判断 1 & 2 1成不成功都会执行2 1 && 2 1成功才会执行2 1 || 2 1不成功才会执行2

  2. Graphics2D绘图方法总结

    一.简介 在开发中可能会遇到这样一类场景,业务复杂度不算太高,技术难度不算太深,但是做起来就很容易把人整破防,伤害很高侮辱性很强的:绘图. 绘图最怕有人挑刺:这里变形,那里不对,全图失真. 最近在处理 ...

  3. Angular 18+ 高级教程 – Animation 动画

    前言 Angular 有一套 built-in 的 Animation 方案.这套方案的底层实现是基于游览器原生的 Web Animation API. CSS Transition -> CS ...

  4. QT原理与源码分析之如何开发一个自定义的绘图设备和QT绘图引擎?

    简介 本文将介绍如何自定义QT绘图设备类和如何自定义QT绘图引擎类. 目录 QT绘图设备抽象类QPaintDevice QT绘图引擎抽象类QPaintEngine 自定义绘图设备类 自定义绘图引擎类 ...

  5. Serilog文档翻译系列(六) - 可用的接收器、增强器、格式化输出

    01.提供的接收器 Serilog 使用接收器将日志事件以各种格式写入存储.许多接收器由更广泛的 Serilog 社区开发和支持:可以通过在 NuGet 上搜索 serilog 标签找到. 02.增强 ...

  6. Java实现随机抽奖的方法有哪些

    在Java中实现随机抽奖的方法,通常我们会使用java.util.Random类来生成随机数,然后基于这些随机数来选择中奖者.以下将给出几种常见的随机抽奖实现方式,包括从数组中抽取.从列表中抽取以及基 ...

  7. Windows11忘记开机密码重置

    在锁屏页面按着shift键重启,找到命令行输入一下两行代码 copy c:\windows\system\system32\utilman.exe c:\windows\system32\utilma ...

  8. 《Vue.js 设计与实现》读书笔记 - 第9章、简单 Diff 算法

    第9章.简单 Diff 算法 9.1 减少 DOM 操作的性能开销 在之前的章节,如果新旧子节点的类型都是数组,我们会先卸载所有旧节点,再挂载所有新的子节点.但是如果存在相同类型的节点,我们完全可以复 ...

  9. LeetCode 730. Count Different Palindromic Subsequences (区间DP)

    题意 给一个字符串S,求它所有子序列中不同非空回文串的数量.字符串由 'a' 'b' 'c' 'd' 四个字母组成. 由于题目要求的是不同回文串. abba 的回文串子序列为 a,b,aba,abba ...

  10. linux 挂载硬盘报错 "mount: unknown filesystem type 'ntfs'"

    这个错误是说,系统无法识别ntfs格式的硬盘.所以不能直接挂载. 解决这个问题的思路有两个: 格式化磁盘为linux可以识别的格式. 通过工具使linux可以识别ntfs格式. 如果是第一次挂载硬盘可 ...