【问题标题】:PHP directory error - open_basedir restriction in effectPHP 目录错误 - open_basedir 限制生效
【发布时间】:2011-03-16 11:39:27
【问题描述】:

我有一些 PHP 代码可以在设置的目录中创建一个新文件:

$target_path = "reports/" . basename($Report_Filename) . ".php";
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { /* code here */ }

它运行良好,并且已经运行了好几年了,不幸的是我们刚刚转移到一个新服务器,我现在遇到了这个错误:

[15-Jul-2010 16:15:48] PHP Warning:  Unknown: open_basedir restriction in effect. File(C:\Windows\TEMP\) is not within the allowed path(s): (C:\inetpub\wwwroot) in Unknown on line 0
[15-Jul-2010 16:15:48] PHP Warning:  File upload error - unable to create a temporary file in Unknown on line 0

请问有什么解决方法的建议吗?我检查了文件夹(我要上传到的文件夹和 Windows TEMP 文件夹)的权限,但并不高兴。我还尝试了对 php.ini 文件的一些调整,特别是 'open_basedir' 行,但也没有运气。

谢谢

【问题讨论】:

  • 对php.ini进行修改后是否重启了web服务器?
  • 您是否查看了 phpinfo() 页面以获取 php.exe 实际使用的 php.ini 文件的位置?很可能有多个 php.ini 文件,而您正在编辑错误的文件。

标签: php file upload open-basedir


【解决方案1】:

我还尝试了对 php.ini 文件,尤其是“open_basedir”行的一些调整,但也没有成功

然后再试一次 - 你第一次做错了。也许其他地方还有其他设置(例如在网络服务器配置中)。

如果做不到这一点,请找出 open_basedir 是什么,并确保 php.ini 中的 upload_tmp_dir 和代码中的 $target_path 都在其中。

C.

【讨论】:

  • 你先生,是明星! upload_tmp_dir = "C:\Windows\TEMP\" & open_basedir = "C:\Windows\TEMP\" 辛苦了,非常感谢。
【解决方案2】:

它说 C:\Windows\TEMP\ 不在允许的路径内 C:\inetpub\wwwroot 所以你需要在php.ini中将windows temp文件夹添加到open_basedir

open_basedir = "C:\inetpub\wwwroot;C:\Windows\TEMP"

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    相关资源
    最近更新 更多