您的位置:首页 > 编程语言 > PHP开发

LNMP脚本部署laravel,thinkphp5 的open_basedir问题

2017-11-04 00:00 477 查看

1.因为这两个框架,部署的时候网站根目录一般设置在public

lnmp 脚本部署的时候会在网站根目录下面生成 .user.ini 文件。 .user.ini文件无法直接修改,如要修或删除需要先执行:chattr -i /网站目录/.user.ini

可以看这里:https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini

open_basedir 将PHP所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。

2.open_basedir设置方法

1.在php.ini 加入

open_basedir="指定目录"


2.在程序中使用

ini_set('open_basedir', '指定目录');


但不建议使用这种方法

3.在apache的httpd.conf中的Directory配置

php_admin_value open_basedir "指定目录"


1

httpd.conf中的VritualHost

php_admin_value open_basedir "指定目录"


4.nginx fastcgi.conf

fastcgi_param PHP_VALUE "open_basedir=指定目录"


1

用open_basedir指定的限制实际上是前缀,不是目录名。
也就是说 open_basedir=/home/fdipzone 也会允许访问/home/fdipzone_abc,如果要将访问限制为目录,请使用斜线结束路径名,例如:open_basedir=”/home/fdipzone/”

如果要设置多个目录,window使用;分隔目录,Linux使用:分隔目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lnmp open_basedire