我已经安装了几个本地版本的 Wordpress 用于开发目的。
安装后,我可以创建帖子、页面并编辑管理选项。
但是,当我尝试上传保存在 wp_content/uploads 中的图像时,我收到错误:
上传错误:无法创建目录 ...../blog/wp-content/uploads/2011/05。其父目录是否可由服务器写入?
看起来 MAMP 服务器以用户 _www 的身份运行。博客目录归 User1 所有,而组 User1 _www 不在 User1 组中,应该在吗?我不想在目录上 chmod 777 或 765 只是为了让它运行。在 Google 上搜索了几个参考资料:
http://codex.wordpress.org/Changing_File_Permissions 在“WordPress 的权限方案”中
所有文件都应归您的 Web 服务器上的用户 (ftp) 帐户所有,并且应可由该帐户写入。在共享主机上,文件永远不应归 Web 服务器进程本身所有(有时是 www、apache 或 nobody 用户)。
任何需要 WordPress 写权限的文件都应由 WordPress 使用的用户帐户(可能与服务器帐户不同)拥有或组拥有。例如,您可能有一个用户帐户,允许您将文件来回 FTP 到您的服务器,但您的服务器本身可能使用单独的用户(在单独的用户组中)运行,例如 dhapache 或 nobody。如果 WordPress 作为 FTP 帐户运行,则该帐户需要具有写权限,即成为文件的所有者,或属于具有写权限的组。在后一种情况下,这意味着权限设置比默认值更宽松(例如,文件夹的权限为 775 而不是 755,文件夹的权限为 664 而不是 644)。
用户和组都是 User1(管理员)。运行“ps aux | grep httpd”是以 _www 的身份运行的,所以我认为这意味着 Wordpress 是以用户 _www 的身份运行的。因此,建议似乎自相矛盾:“文件永远不应归 Web 服务器进程所有”,即 _www,但后来它又说“任何需要 WordPress 写访问权限的文件都应归 WordPress 使用的用户帐户所有或组所有”,所以这不是又是 _www 吗?
另一次搜索找到了此网址 http://dancingengineer.com/computing/2009/07/how-to-install-wordpress-on-mac-os-x-leopard 州 其中说:
我首选的方法是将 wordpress 目录及其内容的组更改为 _www,并授予该组写入权限。将所有者保留为您的“用户名”。
$ cd /用户/“用户名”/网站
$ sudo chown -R 用户名:_www wordpress_directory
$ sudo chmod -R g+w wordpress_directory
然而,当我尝试这样做时,虽然它可以自动更新 .htaccess 文件以获得漂亮的永久链接,但它无法自动升级到 WordPress 的较新版本。
我不太清楚应该怎么做。最后一个建议似乎是说将组从 User1 更改为 _www,并授予该组写入权限,但 Wordpress 升级不起作用。
这是正确的解决方案吗?
我原本以为在 OS X 10.6 上应该有一个明确的设置方法?
如果有一个插件可以为 Wordpress 运行的每个主要操作系统运行一个脚本,那就太好了。
答案1
您的问题有点难以理解,但无论如何我都会尽力帮助您:
首先,你可以以“www/mysql”或“user/user”的形式运行 MAMP。选择哪种方式取决于你想要什么以及你把文件放在哪里。如果你不将你的网络服务器暴露给外界,那么 user/user 可能是最简单的,尽管不那么安全。
其次,自动升级/插件/主题是通过 FTP 下载到您的网站的,由于大多数人既没有在本地计算机上运行 FTP 服务器,也没有静态 IP 或域名来寻址本地计算机,因此它们无法工作,因此请手动安装和升级。是的,您可以在工作站上设置 FTP 服务器并使用 动态域名系统服务并通过路由器和防火墙将 FTP 端口转发到您的工作站,但实际上它可能不值得。
第三,媒体上传器不使用 FTP,因此它应该仍可在本地安装中工作,而插件、升级和主题则不同。您的媒体上传器无法工作可能是因为 /wp-content 的所有权或权限设置不正确。这可能是因为您正在以“_www/_mysql”的身份运行 Web 服务器,而“_www”对您存储文件的文件夹的位置没有权限,或者可能是文件夹的 RWX 权限设置不正确。