lnmp1.4 部署tp5项目

说起来真是一波三折。

1,问题:直接用lnmp1.4 vhost 添加一个站点后,上传tp5项目,直接404(注意,这一步我网站根目录没有指向public,别被我下面的图片误导)

答:这个是因为nginx没有加载pathinfo,加载这个就可以了,比如lnmp网站配置文件都在/usr/local/nginx/conf/vhost/域名.conf,修改它

include enable-php.conf

替换

include enable-php-pathinfo.conf

2,问题:第一步解决后,终于可以 http://域名/public/index.php/控制器… 访问了。可是出现了Access denied

答: 好解决,chrom -R 777 /home/wwwroot/域名/runtime

就是把tp5的runtime文件夹权限给大点。

3,问题:把网站根目录 定位到tp5的public后,出现500错误

答:这个是因为open_basedir设置问题,你目录无法跳出public,但因为我根目录又在public,所需文件全部在上一层,所以直接就500错误了,解决方案要么扩大到上一层,要么取消open_basedir限制

解决1:lnmp1.4安装包里的tools文件夹下有一个remove_open_basedir_restriction.sh

./remove_open_basedir_restriction.sh

输入 /home/wwwroot/域名 即可

但是这样子就会完全移除限制,安全性不高

解决2:

  • chattr -i /网站目录/.user.ini
  • vi .user.ini
  • open_basedir=/home/wwwroot/域名文件夹:/tmp/:/proc/
  • 保存后
  • chattr +i /网站目录/.user.ini

4,问题:如何隐藏index.php

答:这个根据官方方案即可:

1
2
3
4
5
6
location / { // …..省略部分代码
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

 

One Reply to “lnmp1.4 部署tp5项目”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*