简介
ThinkPHP6.0的环境要求如下:
PHP >= 7.1.0
6.0版本开始,必须通过Composer方式安装和更新,所以你无法通过Git下载安装。
Centos8默认的php是7.2,没毛病,不会看这个
Centos7默认的php为5.4,emm删了装php7.2或者7.4都没搞定。。我太难了(7.4的没有apache适配模块,php7.2有apache模块安上了可用,但是pdo、mysql驱动一直没弄上,php7.4用7.2的模块照样会被apache识别成7.2)
安装过程
- 安装Composer
#安装依赖
yum install php-json -y
#安装Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
如果上述安装失败,采用下面的方法
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
- 安装ThinkPHP稳定版
进入自己想要安装TP的目录下
这里我选择/var/www
cd /var/www
这里的tp目录名可以任意更改,自己知道是啥就好。这个目录就是我们后面会经常提到的应用根目录。
composer -vvv create-project topthink/think tp
#参数-vvv表示下载时显示安装进度,不然你会以为ta没有在安装。。。
********此处省略半个多小时!!!!!!!!!!!********
Writing lock file
Generating autoload files
> post-autoload-dump: @php think service:discover
Executing command (CWD): '/usr/bin/php' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='1536M' think service:discover
Succeed!
> post-autoload-dump: @php think vendor:publish
Executing command (CWD): '/usr/bin/php' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='1536M' think vendor:publish
Succeed!
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
[root@ecs html]# ls
tp
3. 开启调试模式
应用默认是部署模式,在开发阶段,可以修改环境变量APP_DEBUG开启调试模式,上线部署后切换到部署模式。
本地开发的时候可以在应用根目录下面定义.env文件。
这里直接将.example.env重命名为.env
[root@ecs html]# cd tp
[root@ecs tp]# ls -a
. .. app composer.json composer.lock config .example.env extend .gitignore LICENSE.txt public README.md route runtime think .travis.yml vendor view
[root@ecs tp]# mv .example.env .env
通过create-project安装后在根目录会自带一个.example.env文件(环境变量示例),你可以直接更名为.env文件并根据你的要求进行修改,该示例文件已经开启调试模式
#.example.env
APP_DEBUG = true^M^M[APP]^MDEFAULT_TIMEZONE = Asia/Shanghai^M^M[DATABASE]^MTYPE = mysql^MHOSTNAME = 127.0.0.1^MDATABASE = test^MUSERNAME = username^MPASSWORD = password^MHOSTPORT = 3306^MCHARSET = utf8^MDEBUG = true^M^M[LANG]^Mdefault_lang = zh-cn
- 测试运行
注意,需要提前进入根目录
[root@ecs html]# cd tp
- 默认8000端口测试
#http://localhost:8000/
php think run
- 指定端口测试
注意这个端口必须没有被占用,比如我的就被占用了Failed to listen on 0.0.0.0:80 (reason: Address already in use)
, 解决办法看文末
#http://localhost
[root@ecs tp]# php think run -p 80
ThinkPHP Development server is started On <http://127.0.0.1:80/>
You can exit with `CTRL-C`
此时访问http://localhost,出现以下说明测试安装成功
:) 2020新春快乐
ThinkPHP V6.0.2
14载初心不改 - 你值得信赖的PHP框架
[ V6.0 版本由 独家赞助发布 ]
退出测试使用 CTRL + C
,一同操作猛如虎
驱动引擎安装
- 视图
composer -vvv require topthink/think-view
问题
- 在80端口启动tp出现
Failed to listen on 0.0.0.0:80 (reason: Address already in use)
思考了以下应该是Apache占用了80,检测1下确实
[root@ecs tp]# systemctl status httpd
httpd.service - The Apache HTTP Server
Active: active (running)
Server configured, listening on: port 80
那只能把Apache关闭服务在启动tp了
[root@ecs tp]# service httpd stop
[root@ecs tp]# php think run -p 80
- 测试模式下怎么保持tp一直允许呢??
screen了解一下
https://blog.csdn.net/weixin_43031092/article/details/105564949
[root@ecs www]# php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/20-bz2.ini,
/etc/php.d/20-calendar.ini,
/etc/php.d/20-ctype.ini,
/etc/php.d/20-curl.ini,
/etc/php.d/20-exif.ini,
/etc/php.d/20-fileinfo.ini,
/etc/php.d/20-ftp.ini,
/etc/php.d/20-gettext.ini,
/etc/php.d/20-iconv.ini,
/etc/php.d/20-json.ini,
/etc/php.d/20-mysqlnd.ini,
/etc/php.d/20-pdo.ini,
/etc/php.d/20-phar.ini,
/etc/php.d/20-sockets.ini,
/etc/php.d/20-sqlite3.ini,
/etc/php.d/20-tokenizer.ini,
/etc/php.d/30-mysqli.ini,
/etc/php.d/30-pdo_mysql.ini,
/etc/php.d/30-pdo_sqlite.ini
参考
- 官方文档 https://www.kancloud.cn/manual/thinkphp6_0/1037481
- Windows安装TP https://www.1rmb.net/t/15.html
- https://blog.csdn.net/sevenkj/article/details/52857604