最近在自己的服务器上搭建thinkphp6并自己写点小玩意,昨晚踩雷就来记录下吧
线上环境
lnmp linux8.+ nginx 1.18 mysql8.0 php7.4
打开咱tp6的手册
安装稳定版本tp6
composer create-project topthink/think tp(名字随你了)
接下来是多应用模式跟模板引擎
单应用模式基本公司线上是用不到的
多应用模式
composer require topthink/think-multi-app
模板引擎
如果不开的话,在多应用下想要用thinkTemplate 就没法子了
composer require topthink/think-view
但是部署到线上之后,遇到两个问题
问题1 :The Process class relies on proc_open, which is not available on your PHP installation
当运行composer create-project 。。。。指令的时候发生的错误,解决办法很简单,去php.ini搜索 disable_function ,将proc_open 这个函数名去掉,然后重启php服务即可
问题2 : mkdir() Permission denied
证明权限是不够的
自动生成的文件或者目录应该是runtime目录,所以在线部署代码的时候,开放此类目录的权限。
最直接吧runtime的权限打开
chmod -R 777 runtime
另外还有一种方法
ps aux|grep nginx //查看当前的nginx进程,能够找到nginx用户是哪个(可能是www,user或者其他的)
chown -R www runtime //chown -R <nginx 用户> runtime,改变runtime所有者为nginx用户
以上问题解决,线上成功安好tp6,开始敲代码了
欢迎访问我的站点 : www.padaqi.com.