Thinkphp
官网
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 topthink/framework
安装开发版
一般情况下,composer 安装的是最新的稳定版本,不一定是最新版本,如果你需要安装实时更新的版本(适合学习过程),可以安装6.0.x-dev版本。
composer create-project topthink/think=6.0.x-dev tp

开启调试模式
应用默认是部署模式,在开发阶段,可以修改环境变量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将此文件移除即可
