4

我有一些 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”行的一些调整,但也没有运气。

谢谢

4

2 回答 2

6

我还尝试了对 php.ini 文件,特别是“open_basedir”行的一些调整,但也没有运气

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

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

C。

于 2010-07-15T15:43:05.343 回答
2

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

open_basedir = "C:\inetpub\wwwroot;C:\Windows\TEMP"
于 2020-05-12T18:05:54.660 回答