我可以在不提供FTP访问的情况下安装/更新WordPress插件吗?
我在使用SSH密钥的SFTP服务器上使用WordPress。
我想安装和升级插件,但看起来您需要输入您的FTP登录才能安装插件。 有没有办法通过手动上传文件来安装和升级插件,而不是让WordPress处理整个过程?
  如果WordPress无法直接写入/wp-content WordPress只会在尝试安装插件或WordPress更新时提示您输入FTP连接信息。  否则,如果您的Web服务器具有对必要文件的写入访问权限,它将自动处理更新和安装。  此方法不要求您具有FTP / SFTP或SSH访问权限,但它确实需要您在Web服务器上设置特定的文件权限。 
它将按顺序尝试各种方法,并在Direct和SSH方法不可用时回退FTP。
https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912
  WordPress会尝试将一个临时文件写入您的/wp-content目录。  如果成功,它会将该文件的所有权与自己的uid进行比较,如果匹配,则允许您使用安装插件,主题或更新的“直接”方法。 
  现在,如果由于某种原因你不想依靠自动检查文件系统方法来使用,你可以在你的wp-config.php文件中定义一个常量'FS_METHOD' ,即'direct', 'ssh', 'ftpext' or 'ftpsockets' ,它将使用该方法。  请记住,如果将此设置为“直接”,但您的Web用户(您的Web服务器运行所用的用户名)没有适当的写入权限,则会收到错误消息。 
总之,如果您不想(或不能)更改wp-content的权限,以便您的Web服务器具有写入权限,请将其添加到您的wp-config.php文件中:
define('FS_METHOD', 'direct');
权限解释在这里:
  如前所述,没有任何烫发修复工作了。  您需要相应地更改烫发,并将以下内容放入wp-config.php : 
define('FS_METHOD', 'direct');
  只是想补充一点,你一定不要将wp-content权限或任何文件夹的权限设置为777 。 
这是我必须做的:
1)我将wordpress文件夹的所有权(递归)设置为apache用户,如下所示:
 # chown -R apache wordpress/ 
2)我将wordpress文件夹的组所有权(递归)更改为apache组,如下所示:
 # chgrp -R apache wordpress/ 
3)给所有者完全权限的目录,如下所示:
 # chmod u+wrx wordpress/* 
  那样做的工作。  我的wp-content文件夹有755权限,顺便说一句。 
TL; DR版本:
# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*
上一篇: Can I install/update WordPress plugins without providing FTP access?
