WordPress无法访问原始图片

问题描述

Web服务器使用的是IIS+PHP+WordPress。
从WordPress网页上传图片,无法访问原始尺寸。例如 www.xxx.com/wp-content/uploads/1.jpg无法访问,但是 www.xxx.com/wp-content/uploads/1-100x100.jpg却可以访问。

查看服务端文件系统,原尺寸图片与裁剪图片处在同一文件夹(uploads)下,但文件夹安全组权限与原尺寸图片的安全组权限不一致,裁剪的图片与文件夹权限一致。

解决方案

修改PHP缓存目录(默认C:\Windows\Temp)的权限,给予IIS用户修改权限。

分析

PHP图片上传过程:先将图片放到缓存目录下,默认情况是C:\Windows\Temp,然后再转移到uploads文件夹里,此时图片的权限会继承Temp文件夹的权限。裁剪图片是WordPress直接生成到uploads文件夹里的,所以权限继承的是uploads文件夹。

PHP的缓存目录路径在php.ini配置文件中找。

发表评论