我正在尝试将一些网站移动到新服务器(运行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
文件夹添加到包含路径中而没有任何运气。
答案 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
]个权限,并且它应该有效。