Linux宝塔安装Thinkphp6遇到的问题及解决方式

PHP编程技术 网络投稿 2022-01-24 02:18 4154 0

Linux宝塔安装Thinkphp6遇到的问题及解决方式

服务器环境是宝塔面板安装的,LAMP环境,PHP大于7.1版本,正常index.html网页文件可以访问;

注意事项:


thinkphp6要求PHP版本大于7.1

thinkphp只能通过Composer安装,Windows和Linux一样

Thinkphp6的目标访问路径是文件中的public,访问其他路径无效,即:/www/wwwroot/myweb自定义/tp6/public

安装过程遇到的问题汇总:

1.第一个报错项:安装时出现的第一个函数proc_open()被禁用

374701c4e20b420a81c8ad49f399982c.png

[Symfony\Component\Process\Exception\RuntimeException]
The Process class relies on proc_open, which is not available on your PHP installation.



2.第二个报错项:安装时出现的第二个函数putenv()被禁用


[ErrorException]                                 
putenv() has been disabled for security reasons

2.png


3.第三个报错项:安装时出现的第三个函数passthru()被禁用


[think\exception\ErrorException]                   
passthru() has been disabled for security reasons


3.png

4.第4个错误提示:安装完成后测试运行thinkphp6,Linux命令行显示测试运行正常,到浏览器输入地址之后显示403错误,文件未被引用


Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/myweb/tp6/vendor/autoload.php) is not within the allowed path(s): (/www/wwwroot/myweb/tp6/public/:/tmp/) in /www/wwwroot/myweb/tp6/public/index.php on line 15


Warning: require(/www/wwwroot/myweb/tp6/vendor/autoload.php): failed to open stream: Operation not permitted in /www/wwwroot/myweb/tp6/public/index.php on line 15


Fatal error: require(): Failed opening required '/www/wwwroot/myweb/tp6/public/../vendor/autoload.php' (include_path='.:') in /www/wwwroot/myweb/tp6/public/index.php on line 15

4.png


解决方法:

1.对于前3个问题出现的解决

打开宝塔面板,找到软件商店,选择PHP后面的设置

5.png

找到禁用函数选项,提示什么函数出错就把那个函数删除就行了,上面3个问题:

proc_open()、putenv()、passthru()

依次删除!!!

2.对于最后一个问题,浏览器显示出错,找了很多大佬的解决方法,都没处理成功

最后看到一个大大佬的帖子,跪谢了!!!

2个多小时弄这个问题,将网站对应站点的设置里面,将网站目录下的防跨站攻击关掉


关掉防跨站攻击之后,最重要的一点是,服务器重启!!!服务器重启!!!服务器重启!!!

直接点击这个运行中然后再重启就好了,不重启无效。



在linux环境下安装,按顺序运行如下代码:

1.安装composer关于PHP的依赖环境

curl -sS https://getcomposer.org/installer | php

1

2.移动composer环境到该目录

8.png

mv composer.phar /usr/local/bin/composer

1

速度慢可换阿里云镜像安装,上面代码换成下面的

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

3.切换到你的WEB根目录下面,安装宝塔面板的是www/wwwroot目录下


cd /www/wwwroot

1

4.开始安装TP6框架包,代码最后的TP6是目录名,可自行更改


composer create-project topthink/think TP6

1

若已有TP框架可更新版本,可在WEB根目录下,运行如下代码


composer update topthink/framework

1

5.测试运行,在TP6根目录下,及www/wwwroot/myweb/tp6,运行如下代码

php think run

1

测试成功!

9.png


————————————————

参考:https://blog.csdn.net/qq_42454025/article/details/119424615