“open_basedir限制有效”但文件在正确的目录中

时间:2012-09-22 17:19:54

标签: php iis plesk

我正在尝试将一些网站移动到新服务器(运行Plesk 11),我收到以下错误:

  

警告:file_exists()[function.file-exists]:open_basedir限制生效。文件(configuration.php)不在允许的路径中:(C:\ Inetpub \ vhosts \ domain.com \ domains \ domain.com \ www \; C:\ Windows \ Temp)in   第18行的C:\ Inetpub \ vhosts \ domain.com \ domains \ domain.com \ www \ index.php

但是configuration.php文件位于C:\Inetpub\vhosts\domain.com\domains\domain.com\www\

我在这里几乎变得疯狂,因为这对我来说完全没有意义 我甚至可以将open_basedir值设置为none,但仍会得到相同的错误 使用PHP 5.2或5.3也是如此。

让我更进一步的唯一事情就是在第18行dirname(__FILE__)的电话前设置index.php,但这不是解决办法,因为我无法改变所有整个CMS中的文件引用。因此,我还尝试将www文件夹添加到包含路径中而没有任何运气。

2 个答案:

答案 0 :(得分:9)

AFAIK Plesk出现问题,在Windows上禁用open_basedir。尝试从注册表中删除open_basedir密钥

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PHP\Per Directory Values\C\Inetpub\vhosts\yourdomain.com\httpdocs

答案 1 :(得分:0)

对于IIS,直到我将{IUSR(或用户服务器在您运行echo get_current_user();时显示的任何内容)添加到Windows\Temp安全选项卡时,我才搞砸了。

read上授予该用户[write] / [Windows\Temp]个权限,并且它应该有效。