多个php网站无法根目录,PHP跨根目录访问脚本的权限问题

关与这个标题总结不知道对不对,其实我遇到的问题更具体一些。

我的服务器安装的是lnmp.org的一键安装包,新建主机后会分配一个目录,这个目录就是网站的根目录/site。现在我要安装一个thinkphp5的网站,它的网站根目录需要设为/site/public,由/site/public/index.php来加载/site/app等其它目录的脚本。于是我在nging配置文件中将网站root根目录改为/site/public。然后就出问题,网站无法访问。分析后发现public下的脚本没有权限加载app等目录的脚本,只有根目录public下的文件权限。

经过查找资料发现这是PHP的一个安全隔离防跨站的功能,要在php.ini内设置站点可访问目录

open_basedir=/home/www/www.aaa.com:/tmp/:/proc/

lnmp在“/usr/local/nginx/conf/fastcgi.conf”这个文件中对此参数进行了统一设置

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";

找到了问题所在只要稍作修改就可以了,我将fastcgi.conf内的设置注释掉,然后在vhost的配置文件单独加入

fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/site/:/tmp/:/proc/";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值