我在基于Plesk的IIS 7.5服务器上有一个PHP 5.4服务的网站。应用程序池标识运行为IWAM_plesk
,但PHP运行为IUSR_username
。
当我上传文件时,PHP可以移动文件并从中创建缩略图,但该文件没有获得浏览器读取文件的匿名IWAM_plesk(default)
权限,因此也无法获取图像(不是生成的缩略图) )查看网站时“无法阅读”。
如何在上传后向文件授予正确的权限?
只有文件夹“替换所有子对象的权限”才能解决问题(或直接将用户权限添加到文件中)。
答案 0 :(得分:1)
这是php.ini中upload_tmp_dir
设置的问题。在上载过程中移动文件时,权限不会随之移动。创建项目特定的上传文件夹,根据需要设置用户/组,并将此文件夹设置为upload_tmp_dir
,可以是php.ini或项目特定的。
上传的文件将继承该文件夹的权限。
webplatform安装程序出现此问题,默认情况下将upload_tmp_dir设置为C:\ Windows \ temp。