php错误提示 open_basedir restriction in effect 解决

今天在帮助一个朋友配置一台服务器时发现网站配置好了缓存目录读写不成功,在打开错误时发现提示 Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../license.php) is not within the allowed path(s): 错误了,下面一起来看此问题解决办法

先来看配置文件

$cache = new Cache(43200,’D:/wwwroot/cache/tmp/anzhuo/’);//参数1 秒,参数2内容
$page = intval(isset($_GET[‘page’])?$_GET[‘page’]:1);
$key = ‘anzhuo_data_4’.$page;
$values = $cache->display($key);

这个是生成缓存文件了,但是发现生成是提示

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../license.php) is not within the allowed path(s):

 

问题是出现在了PHP.INI上面了
原因是php.ini里设置了

open_basedir=/var/web/w0895/:/tmp:/usr/lib/php

这里加上相关的目录就可以了

解答:
其实open_basedir 这个是用来限制php的目录访问权限什么的,如果不在允许的范围内,php就不能访问。
这个 open_basedir 在 php.ini 里可以设定,也可以在 apache的httpd.conf 里面设定

例如:

php_admin_value open_basedir “D:/wwwroot/cache/tmp/anzhuo/”

再比如:

php_admin_value open_basedir =/var/web/w0895/:/tmp:/usr/lib/php

好了再重启apache问题解决了。

原文链接:,转发请注明来源落伍老站长!

发表评论