Thinkphp6安装

简介: Thinkphp6安装

官网

https://www.thinkphp.cn/doc

Composer

Composer 是 PHP 的一个依赖管理工具,它允许你声明项目所需的库依赖,并且会为你安装它们。在许多方面,它与其他编程语言中的包管理工具类似,例如 Node.js 的 npm 或者 Python 的 pip。使用 Composer 可以使 PHP 开发变得更加高效、组织化,并且易于维护。

依赖管理: Composer 允许你在一个名为 composer.json 的文件中声明项目所需的依赖库,然后通过命令行工具安装或更新这些依赖。

自动加载: Composer 还能自动生成一个自动加载文件,这让你能够轻松地使用项目中的类库,而无需手动引入每个文件。

版本控制: 它支持语义版本控制和各种约束,让你可以精确地控制项目依赖的版本,确保兼容性和稳定性。

库的发现: 通过 Packagist(PHP 的官方包库),Composer 使得寻找、安装和使用包变得简单。Packagist 为 Composer 提供了一个中央库,其中包含了 PHP 社区提供的各种库和框架。

项目间共享: Composer 使得在不同项目间共享代码变得更加容易,因为你可以将常用的功能打包成库,并通过 Composer 进行管理和复用。

安装Composer

#下载composer.phar文件
curl -sS https://getcomposer.org/installer | php
#移动到usr/local/bin下面并重命名为composer
sudo mv composer.phar /usr/local/bin/composer

Thinkphp

安装稳定版

如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:

composer create-project topthink/think tp

这里的tp目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。

如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新:

composer update

安装开发版

一般情况下,composer 安装的是最新的稳定版本,不一定是最新版本,如果你需要安装实时更新的版本(适合学习过程),可以安装6.0.x-dev版本。

composer create-project topthink/think=6.0.x-dev tp

目录结构

www WEB部署目录(或者子目录)

├─app 应用目录

│ ├─controller 控制器目录

│ ├─model 模型目录

│ ├─ ... 更多类库目录

│ │

│ ├─common.php 公共函数文件

│ └─event.php 事件定义文件

├─config 配置目录

│ ├─app.php 应用配置

│ ├─cache.php 缓存配置

│ ├─console.php 控制台配置

│ ├─cookie.php Cookie配置

│ ├─database.php 数据库配置

│ ├─filesystem.php 文件磁盘配置

│ ├─lang.php 多语言配置

│ ├─log.php 日志配置

│ ├─middleware.php 中间件配置

│ ├─route.php URL和路由配置

│ ├─session.php Session配置

│ ├─trace.php Trace配置

│ └─view.php 视图配置

├─view 视图目录

├─route 路由定义目录

│ ├─route.php 路由定义文件

│ └─ ...

├─public WEB目录(对外访问目录)

│ ├─index.php 入口文件

│ ├─router.php 快速测试文件

│ └─.htaccess 用于apache的重写

├─extend 扩展类库目录

├─runtime 应用的运行时目录(可写,可定制)

├─vendor Composer类库目录

├─.example.env 环境变量示例文件

├─composer.json composer 定义文件

├─LICENSE.txt 授权说明文件

├─README.md README 文件

├─think 命令行入口文件

配置文件

由于架构设计原因,下面的配置只能在环境变量中修改。

app_debug 应用调试模式
config_ext  配置文件后缀

环境变量定义

可以在应用的根目录下定义一个特殊的.env环境变量文件,用于在开发过程中模拟环境变量配置(该文件建议在服务器部署的时候忽略),.env文件中的配置参数定义格式采用ini方式,例如:

APP_DEBUG = true

如果你的部署环境单独配置了环境变量( 环境变量的前缀使用PHP_),那么请删除.env配置文件,避免冲突。

环境变量配置的参数会全部转换为大写,值为 off,no 和 false 等效于 布尔值false,值为 yes 、on和 true 等效于 布尔值的true。

注意,环境变量不支持数组参数,如果需要使用数组参数可以,可以使用

[DATABASE]

USERNAME = root

PASSWORD = 123456

如果要设置一个没有键值的数组参数,可以使用

PATHINFO_PATH[] = ORIG_PATH_INFO

PATHINFO_PATH[] = REDIRECT_PATH_INFO

PATHINFO_PATH[] = REDIRECT_URL

获取环境变量的值可以使用下面的方式获取:

Env::get('database.username');

Env::get('database.password');

Env::get('PATHINFO_PATH');

要使用Env类,必须先引入think\facade\Env。

环境变量的获取不区分大小写

// 获取环境变量 如果不存在则使用默认值root

Env::get('database.username', 'root');

可以直接在配置文件中使用环境变量进行本地环境和服务器的自动配置,例如:

return [

'hostname' => Env::get('hostname','127.0.0.1'),

];

开启调试模式

应用默认是部署模式,在开发阶段,可以修改环境变量APP_DEBUG开启调试模式,上线部署后切换到部署模式。

本地开发的时候可以在应用根目录下面定义.env文件。

通过create-project安装后在根目录会自带一个.example.env文件(环境变量示例),可以直接更名为.env文件并根据你的要求进行修改,示例文件已经开启调试模式

测试运行

php think run
php think run -p 80

nginx部署

server {
        listen       8028;
        server_name  localhost;
        root   /opt/homebrew/var/www/tp/public;
        location / {
            index  index.html index.htm;
          # 主要是这个是新加的起作用的,
            if (!-e $request_filename) {
              rewrite  ^(.*)$  /index.php?s=/$1  last;
            break;
          }
        }
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9999;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }

出现问题

查看日志

tail -f root /opt/homebrew/var/log/nginx/error.log

No input file specified.

查看日志内容如下FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(//.php) is not within the allowed path(s)

找到/public/.user.ini将此文件移除即可

相关文章
|
22天前
|
开发框架 Java 关系型数据库
ThinkPHP
【8月更文挑战第23天】ThinkPHP
40 2
|
22天前
|
开发框架 安全 PHP
ThinkPHP和Laravel
【8月更文挑战第23天】ThinkPHP和Laravel
43 4
|
安全 前端开发 关系型数据库
PHP:ThinkPHP5.0下载安装和各种配置
PHP:ThinkPHP5.0下载安装和各种配置
855 0
|
应用服务中间件 PHP nginx
lnmp1.6 thinkphp 5 出现500的情况
1.使用命令来添加虚拟主机: lnmp vhost add 2.修改项目的实际目录: lnmp添加的虚拟主机没有指定到public目录下,所以需要我们自己手动来指定 3.修改/usr/local/nginx/conf/fastcgi.
800 0
lnmp1.6 thinkphp 5 出现500的情况
|
开发框架 网络安全 PHP
5分钟快速安装thinkphp5.1
简介 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。
2829 0
|
PHP Android开发 前端开发
ThinkPHP 初探
准备 ThinkPHP下载 Eclipse-for-php 如何使用 放置位置 检验引用效果 效果 路由 调试之模板的使用 前提 生产模式 开发模式 添加完相应的路径以及模板文件后 总结 对国人开发的这款PHP框架早有耳闻,今日就来趟趟水,也为了今后更好的学习。
1308 0
|
PHP .NET SQL
ThinkPhp学习12
原文:ThinkPhp学习12  二、输出模板内容      (重点)  a、display    1.display中没有参数    $this->display();    2.可以带参数    $this->display(本模块文件夹下的其他模板文件);    $this->displ...
905 0
|
关系型数据库 PHP 数据库
Thinkphp学习04
原文:Thinkphp学习04 一、ThinkPHP 3 的输出      (重点)  a、通过 echo 等PHP原生的输出方式在页面中输出  b、通过display方法输出   想分配变量可以使用assign方法  c、修改左右定界符   休要修改配置文件中的配置项   'TMPL_L_D...
1338 0