解决IIS服务器typecho上传附件后无法访问的问题

因为以前我一直是使用工具从博客园直接同步博客,所以还没有真正的手动上传过图片(附件)。

今天上传图片后,发现在博客中无法显示。

直接访问该图片,iis报 500 - 内部服务器错误。

查找 了一下,发现是权限问题,因为typecho是基于PHP的,所以对服务器下文件的操作是基于php-cgi进程的,该进程的权限不够,所以无法访问。

FastCGI对应的用户是IIS_USER

 

解决方案:

打开typecho upload文件夹的高级安全设置

image

 

找到IIS_USER,钩选“使用可从此对象继承的权限项目替换所有子对象的权限项目”,然后再点确定。

image

 

即可解决上传附件无法访问的问题。

 

如果这样修改后,还是无法访问,可能是由于php上传时临时目录的原因。

默认情况下,php上传时的临时目录是C:\Windows\Temp

这个目录是没有IIS_USER权限的,所以解决方法

1、为C:\Windows\Temp添加IIS_USER权限

2、创建一个临时目录,并添加IIS_USER权限。

 

我这里演示第2种方法的实践过程

首先打开iis里的php_manager

image

 

 

打开php.ini

image

 找到upload_tmp_dir,设置为自己创建的临时目录。

image

 

再重启电脑/IIS服务器即可。

 

最后,如果还是不行,终极解决方案哪下:

将网站文件复制到其它盘下的目录,再重新创建网站,即可解决。

posted @ 2026-07-13 10:01  zhaotianff  阅读(10)  评论(2)    收藏  举报