为什么在本地主机上使用对站点文件具有777权限的FTP一次点击更新失败?

时间:2014-01-07 作者:iyrin

我可以在admin CP中成功上传/删除媒体、添加/删除插件和编辑主题文件。在admin CP中,我不能做的一件事是从WordPress 3.7.1到3.8的普通一键更新。想法?

尝试运行更新时出现错误消息:

正在从下载更新https://wordpress.org/wordpress-3.8-new-bundled.zip

正在解压缩更新…

无法安装更新,因为我们将无法复制某些文件。这通常是由于文件权限不一致造成的:wp管理/包括/更新核心。php

安装失败

出于测试目的,我将父目录下的所有目录和文件设置为777权限,并将用户:组所有权设置为我的web服务器用户www数据。

-rwxrwxrwx 1 www data www data every freakin文件。php

的输出grep www-data /etc/group 显示我的vsftpd用户和我的主登录名。

www数据:x:33:ftps,ryan

站点文件位于/var/www之外的启用站点的用户目录中,该目录安装在带有端口的LAMP专用本地主机上。conf配置如下。

NameVirtualHost*:80听127.0.0.1:80

#如果在此处添加NameVirtualHost*:443,还必须将/etc/apache2/sites available/default ssl中的VirtualHost语句更改为Windows XP上的MSIE当前不支持ssl命名虚拟主机的服务器名称指示<听443


听着443

最后的想法:是否有其他用户必须添加到www数据组?对每个文件和目录拥有777个权限是否排除了权限作为更新失败的原因?

我看到一个已解决的线程,其中包含一个关于“vsftp”配置文件的选定答案,但它太模糊了,没有什么用处。My/etc/vsftpd。除了我尝试一键更新外,conf配置工作得很好
WP upgrade can\'t create directory even though perms are 777

Update: 我的phpinfo。php显示APACHE\\u RUN\\u用户,APACHE\\u RUN\\u组是www数据。我已确认此用户:组拥有所有具有读/写/执行权限的文件。

3 个回复
最合适的回答,由SO网友:iyrin 整理而成

这个问题解决了。权限问题与更新时如何将文件上载到WordPress站点有关。此时,我更倾向于使用SUPPP解决方案,因为它更简单,对文件的权限要求也更低,但如果您不想这样做,那么您必须小心让您的FTP用户能够很好地使用WordPress。

suPHP Solution
发布此问题后,我迁移到了SUPPP,这使得Web服务器可以作为本地用户运行,而不是使用FTP用户。配置SUPPP后(请参阅:Install suphp with apache on ubuntu) 我禁用了WordPress Upgrade Constants 在wp配置中,因此不再使用FTP。

现在,一键更新可以工作,因为更新文件由本地用户处理,而不是由FTP用户所属的组处理。这意味着644的文件权限和755的目录权限应该可以工作,因为不再需要组写入访问权限。

SO网友:Justin

我在OSX上运行Apache,这为我修复了它:

sudo chown -R _www:_www mywebfolder
sudo chmod -R 775 mywebfolder

SO网友:pagetrans

错误:

无法安装更新,因为我们将无法复制某些文件。这通常是由于文件权限不一致造成的。

解决方案:

检查SELinux,确保其已禁用,如果未禁用,则应禁用它。在腻子中,#sestatus, 必须禁用输出,如果未禁用,请在以下位置编辑输出:/etc/selinux/config

更改/var/www/html 至777。腻子中:# chmod -R 777 /var/www/html

其他注意事项:

如果您的web服务器没有启用SELinux,那么在大多数情况下,错误将得到解决。

此错误与文件或文件夹所有权或组所有权无关。您可以使用root或之前创建的任何其他用户名通过WordPress dashboard访问ftp serer。

我花了三天时间试图解决这个问题,但没有从谷歌的任何建议中获得成功。幸运的是,我有两个托管网站,一个是禁用SELinux的,没有一个单击更新问题,另一个启用SELinux的网站有一个单击更新问题,所以最后我猜这可能是问题所在,这是真正的根本原因。

结束

相关推荐

通过FTP访问多个站点

我已经安装了wordpress MU,并在我的域/dev/sitename中建立了一个不同的站点——但我想在该站点上安装一个主题,然后直接编辑它。然而,我的FTP只显示主要的Wordpress安装。如何访问/sitename子目录?