WordPress无法访问原始图片
编辑
4
2022-06-23
问题阐述
在IIS+PHP+WordPress的Web服务器配置环境下,存在一个图片访问问题。当从WordPress平台上传图片后,用户无法直接访问原始尺寸的图片,例如,尝试访问www.xxx.com/wp-content/uploads/1.jpg
会失败。然而,裁剪后的图片如www.xxx.com/wp-content/uploads/1-100x100.jpg
则可以顺利访问。
经过对服务端文件系统的深入检查,我们发现原始尺寸的图片与其裁剪版本均存储在同一个“uploads”文件夹内。但值得注意的是,原始图片的安全组权限与其所在文件夹的权限设置并不一致,而裁剪后的图片权限则与文件夹权限保持一致。
解决方案提出
为了解决这个问题,我们建议调整PHP的缓存目录权限。默认情况下,PHP会将上传的图片首先存放在缓存目录中,该目录通常位于C:\\Windows\\Temp
。必须确保IIS用户对这个目录拥有修改权限,以便图片能够顺利上传并转移。
问题分析
PHP处理图片上传的流程涉及多个步骤。最初,图片会被临时放置在缓存目录下,该目录在默认情况下是C:\\Windows\\Temp
。随后,这些图片会被移动到“uploads”文件夹中。在此过程中,图片会保留它们在缓存目录中原有的权限设置。相比之下,WordPress直接在“uploads”文件夹内生成裁剪后的图片,这些图片自然会继承该文件夹的权限设置。
若需确认或调整PHP的缓存目录路径,建议查阅服务器上的php.ini配置文件。
- 1
- 0
-
分享