作为一个java开发者,刚接手php项目瞬间一脸懵逼,php少了很多java类似的注解,瞬间无从下手,看完官方文档之后,觉得好像没有想象的那么难,但是作为程序员的你肯定早有准备,开发过程中会有很多坑需要我们入,下面介绍一下我在开发过程中遇到的一些坑,供大家参考。
我这里选择了thinkPHP6作为框架,利用宝塔面板完成部署,lnmp的环境
1.宝塔面板设置(防止出现404)
设置网站目录为 项目根目录,设置运行目录为/public
设置伪静态为 thinkphp,不然会报404
到此,宝塔面板部署的坑已经结束
如果配置了以上问题后访问接口还是报404,问题有可能出现在多应用没有安装问题,tp6之后需要手动安装,在项目根目录安装多应用,
composer require topthink/think-multi-app
可以在项目配置文件app.php中设置属性,
// 自动多应用模式 'auto_multi_app' => true,
// 默认应用 'default_app' => 'admin',
正常情况下,到这里你就可以正常访问多应用了,但是奇怪的问题出现了,我访问其他应用还是报404,作为程序员出现奇怪的问题是很正常的问题,经过多少根头发的努力终于发现了问题的所在,我们在配置文件上一定要注意'domain_bind' 域名绑定的这个参数,我的是因为这个参数配置有问题,导致一直跳转到index应用,访问其他应用报404,但是在变换domain_bind配置时候报Class ‘think\\facade\\Filesystem‘ not found,这个是因为thinkphp在6.0使用composer安装,在vendor 中会缺少一个库 这个库就是
think-filesystem
这时候 你就需要重新加载这个库
具体方法如下 找到你项目中 composer.json这个文件
在文件中加入一行代码
"topthink/think-filesystem":"^1.0"
代码位置
然后删除你项目中的 composer.lock文件。
在终端进入你项目的根目录 执行
composer install
在终端能看到箭头指向的文件 就可以了
到此就真的大功告成了!!!!