我正在使用 WPMU DEV 创建的WP Smushit Pro
插件。他们的支持不会走得那么远,所以我要伸出援手。我很确定这是我的服务器无论如何都有问题。
当图像被模糊时,PHP函数rename()
运行并覆盖原始图像。
权限已更改,使在线用户无法访问该图片
以前的权限:rw-r--r--
(0644)
修改后的Perms:rw-------
(0600)
优化(smushed)图像在同一目录中创建为.tmp文件(rename()
),然后copy()
'覆盖现有文件。
您之前是否遇到过这种类型的权限修改?
如果是这样,可以做些什么来优雅地解决问题?
答案 0 :(得分:1)
请注意重命名文件的含义。
当文件保留在同一文件系统上时,重命名实际上不是对文件本身的操作。它仅修改目录:文件所在的目录以及文件所在的目录。它不会影响文件本身的内容或属性,例如其访问权限和所有权。 (文件的名称不是文件的属性,而是指向文件的目录条目的属性。)
为了保持一致性,这也适用于跨文件系统移动文件的情况,即使在这种情况下,在封面下方,也必须创建一个新文件,并且必须复制其内容和属性。
因此,您可能需要修复用于创建对插件有效的新文件(umask)的默认权限。