【发布时间】:2011-02-27 14:53:10
【问题描述】:
这与 Wordpress 中的媒体上传有关。
每次 WP 为新上传创建一个文件夹(它按年和月组织上传:yyyy/mm),它使用“apache:apache”用户和组创建它,具有对所有(777 或 @987654321)的完全访问权限@)。
但是,之后,WP 无法在该文件夹中创建文件夹(例如:mkdir 2011 成功,但 mkdir 2011/01 失败)。此外,即使权限为 777 (rwxrwxrwx),上传也无法移动到这些新创建的文件夹中。
每月一次,我必须 chown 新创建的文件夹与 user:group 的其余文件相同。一旦我这样做了,上传就可以正常工作(这对我来说没有意义真正令人沮丧的部分是,在同一服务器上其他域上的其他 WP 安装中不存在此问题。
* 我不确定这应该在这里还是服务器故障。
编辑:包含目录/.../httpdocs/blog/wp-content/uploads 拥有正确的所有权
drwxrwxrwx 5 myuser psaserv 4096 Jun 3 18:38 uploads
这是由 Media Temple (dv) 托管的 Plesk/CentOS 环境。
我已经编写了以下测试脚本来模拟问题
<pre><?php
$d = "d" . mt_rand(100, 500);
var_dump(
get_current_user(),
$d,
mkdir($d),
chmod($d, 0777),
mkdir("$d/$d"),
chmod("$d/$d", 0777),
fileowner($d),
getmyuid()
);
脚本总是成功创建第一个目录mkdir($d)。在 WP 问题所在的域 A 上,它无法创建嵌套目录 mkdir("$d/$d")。但是,在域 B 上,两个目录都已成功创建。
我分别在/var/www/vhosts/domainA/httpdocs/tmp/t.php 和/var/www/vhosts/domainB/httpdocs/tmp/t.php 运行每个脚本我检查了tmp、httpdocs 和domain[AB] 的权限,它们对于每个路径都是相同的。唯一不同的是用户。
【问题讨论】:
-
我曾经在 Plesk 服务器上使用 WordPress 时遇到过这个问题,但一直没有弄清楚如何修复它并最终将其移至另一台主机。
-
该死,我在同一条船上。这不是很有希望。
标签: wordpress upload permissions