主页 > 编程资料 > PHP >
发布时间:2018-05-31 作者:apizl 阅读:300次

有时候我们为了考虑服务器的安全性,必须将PHP操作范围控制在某一个目录或某一块目录中。


1.PHP open_basedir介绍

open_basedir 将打开的文件限制在指定的目录中,包括文件本身。使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录之外,将无法打开或者运行这个文件。

比如你运行了/home/web/index.php 那么就无法操作/home/xxx/其他地方文件

2.open_basedir的设置

如果有多个目录/home/web/:/home/test.....等等 如果是window 使用";"分割 linux 使用":"分割

1.php.ini 中开启 open_basedir="/home/web"

2.ini_set('open_basedir', '指定目录'); 不过实际过程中感觉没有生效


所有不在目录的运行都会提示如下类型:

Warning: require(): open_basedir restriction in effect. File(D:\project\cmh_yii2\vendor\autoload.php) is not within the allowed path(s): (/www/wwwroot/cmh_sq/advanced-my/) in D:\project\cmh_yii2\backend\web\index.php on line 6


如果是对每一个站点都限制不同目录,那么就需要对不同的站点设置不同的php.ini进行加载!


文章由爱资料原创本文地址:https://www.apizl.com/archives/view-134208-1.html,转载请以链接形式标明本文地址!
关键字词: