qhdtc5 2016-11-24 22:17:41 2939次浏览 0条回复 1 0 0

昨天使用yii2做了一个上传头像的功能,本机web服务为Apache,测试一切都OK,部署到WIN主机的IIS就上传图片成功而无法读取图片,显示401错误,在网上爬了半天才解决。

根据代码设置,上传的图片都放在web文件夹下的uploads文件夹,然后设置uploads为IUSR_XXXX读写权限,测试上传后,查看文件夹中已有上传的图片,然而网页显示401错误。网上搜索到的大部分结果都是说文件夹未设置IUSR_XXXX的权限,可是我明明已经设置了,后来看了这个网址介绍的办法才最终解决了我的问题:http://www.myhack58.com/Article/sort099/sort0100/2015/64301.htm

问题原因:因为php在上传文件时,是先上传到upload_tmp_dir指定的位置,然后再move到脚本指定的文件夹中,而move过来的文件权限是只有临时文件夹的那些权限,不包括IUSR_XXXX的权限在内,所以会出现401错误。

解决办法:找到在php.ini中upload_tmp_dir指定的文件夹,赋予IUSR_XXXX的读取权限,完美解决问题。

    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册