在IIS中使用PHP上载图像时的权限问题

时间:2009-03-07 19:06:00

标签: php iis imagemagick

我们刚刚将网站迁移到新服务器,两台服务器都是运行IIS作为Web服务器的Windows Server 2003。

上传图片时,我们要求上传的文件具有NETWORK SERVICE帐户的特定权限。使用PHP上传图像,然后使用mogrify.exe二进制文件对ImageMagick进行过滤,以便调整大小并将其放在由PHP创建的新文件夹中。

我们遇到的问题是上传的文件不会继承NETWORK SERVICE权限,尽管该文件夹也是如此。

我运行filemon以查看任何错误并获得以下内容:

mogrify.exe:6396 OPEN C:\ inetpub \ wwwroot \ example.com \ data \ 334480 \ test.jpg访问拒绝NT授权\网络服务

我们需要NETWORK SERVICE访问权限的原因是我们使用的ASP.NET脚本动态调整图像大小。我搜索过谷歌但找不到解决方案。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

管理来修复这个问题,我将php.ini中的上传tmp目录更改为C:\ Test并给了Test我需要的权限,我已经做了这个更改但是在进一步检查时,在php中设置了两次upload_tmp_dir。 ini档案。上传的文件继承了临时目录的权限。

答案 1 :(得分:0)

您是否确保“NETWORK SERVICE”ACL适用于“此文件夹,子文件夹和文件”,无论它应用于何处。另外,尝试使用相同的ACL在其他地方创建一个新文件夹,看看PHP创建的文件是否继承了该权限。