2018年6月17号 下午 安装了 lnmp1.5一键安装包
php版本是 7.1.18
mysql是5.5.60
swoole是4.0.0
redis是4.0版本
phpmyadmin 是4.4.15.6
tp5.1.16 运行正常
目前在centos 7.3的虚拟机上成功安装了以上软件。
但是其中遇到了一大波坑,大部分都是由于lnmp1.5里面的nginx配置文件引起的问题。
导致了,使用tp5.1.16 做项目的时候出现以下问题,(我目前遇到的)。
1、
问题描述:首先是框架入口文件无法加载tp的核心文件。
问题现象:自己写的test.php能执行。但是导入tp框架的时候访问就是500错误。nginx日志也没错误提示。
问题解决:然后折腾了一番,终于找到了原因,原来军哥的一键安装包1.5版本的nginx配置里面限制了php文件的包含权限。导致了入口文件无法向上层require。 PHP.ini文件里面也没有设置php文件能够“翻越”的目录范围。于是我暴力的添加了/home/www、这个目录,于是入口文件终于能够向外require了。
(这个错误的原因就是军哥的lnmp一键安装包默认限制了脚本禁止跨目录访问,设置一下允许就好了。可以改php.ini,或者修改改fastcgi.conf)
2、
问题描述:tp项目文件无法上传。
问题现象:原生的表单提交能够正常上传,$_FILES['thumb']是能到看到文件已经成功提交到服务器的。但是用框架的request()->file("thumb");却返回的是null。
问题解决:在php.ini文件里面的open_basedir参数追加php上传临时目录(我自己定义的是/tmp/post_tmp_files为PHP文件上传的临时目录)。
=====================分割线==========================
放大招!放大招!放大招!
解决网站项目跨目录限制的终极解决方案,
运行命令:vi /usr/local/nginx/conf/fastcgi.conf
将最后的那行注释掉!见下图所示!在最前面加个#号
至此,大坑终于圆满解决。还有些小问题就不写了。今天是端午节。明天睡下懒觉。^_^
祝各位有缘看到此文章的朋友端午节快乐!