我可以在不提供 FTP 访问的情况下安装/更新 WordPress 插件吗?
我在我的实时服务器上使用 WordPress,它仅使用 SSH 密钥使用 SFTP。
我想安装和升级插件,但您似乎需要输入您的 FTP 登录名才能安装插件。 有没有办法通过手动上传文件而不是让 WordPress 处理整个过程来安装和升级插件?
解决方案
如果 WordPress 无法直接写入/wp-content
它只会在尝试安装插件或 WordPress 更新时提示您输入 FTP 连接信息。 否则,如果您的 Web 服务器具有对必要文件的写访问权限,它将自动处理更新和安装。 此方法不需要您具有 FTP/SFTP 或 SSH 访问权限,但需要您在网络服务器上设置特定的文件权限。
它将按顺序尝试各种方法,如果 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'
,它将使用该方法。 请记住,如果您将其设置为“direct”,但您的网络用户(运行网络服务器的用户名)没有适当的写入权限,您将收到错误消息。
总之,如果您不想(或不能)更改 wp-content 的权限以便您的 Web 服务器具有写入权限,请将其添加到您的 wp-config.php 文件中:
define('FS_METHOD', 'direct');
权限解释在这里:
- http://codex.wordpress.org/Updating_WordPress#Automatic_Update
- http://codex.wordpress.org/Changing_File_Permissions
如前所述,所有烫发修复都不再起作用。 您需要相应地更改权限并将以下内容放入您的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/*
- 在
wp-config.php
添加define('FS_METHOD', 'direct');
- 使服务器可写目录
wp-content/
,wp-content/plugins/
。 - 安装插件(将插件目录复制到
wp-content/plugins
目录中)。
在版本 3.2.1 上工作
打开wp-config.php
文件并添加以下行:
define('FS_METHOD', 'direct');
这对我有用……谢谢
只需快速更改wp-config.php
define('FS_METHOD','direct');
就是这样,在没有 ftp 的情况下享受您的 wordpress 更新!
替代方法:
有一些主机会阻止这种方法工作以简化您的 WordPress 更新。 幸运的是,还有另一种方法可以防止这种害虫提示您输入 FTP 用户名和密码。
同样,在 wp-config.php 文件中的 MYSQL 登录声明之后,添加以下内容:
define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
将php_mod
更改为启用cgi
和SuEXEC
fastcgi
( ISPConfig用户)。 为我工作。
如果不起作用,请尝试以root
或sudo
用户身份将wp-content
更改为775
:
chmod -R 775 ./wp-content
然后添加到wp-config.php
:
define('FS_METHOD', 'direct');
祝你好运
为了能够使用 SSH2 进行更新和主题上传,您必须生成 SSH 密钥并安装 PHP SSH 模块。 然后 WordPress 会检测到您有可用的 SSH2,并且您会在上传/升级时看到不同的选项 (SSH2)。
1.) 确保为 debian 安装了 PHP 模块,它是:
sudo apt-get install libssh2-php
2.) 生成 SSH 密钥,添加密码是可选的:
ssh-keygen
cd ~/.ssh
cp id_rsa.pub authorized_keys
3.) 更改权限,以便 WordPress 可以访问这些密钥:
cd ~
chmod 755 .ssh
chmod 644 .ssh/*
现在,您将在执行上传/升级/插件时获得 SSH2 选项。
4.) 为了更方便,您可以在wp-config.php
设置默认值,这将在 WordPress 上传窗口中预先填充 SSH 凭据。
define('FTP_PUBKEY','/home/<user>/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/<user>/.ssh/id_rsa');
define('FTP_USER','<user>');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');
‘passphrase’ 是可选的,如果你没有在ssh-kengen
设置密码; 然后不要在wp-config.php
添加它
这解决了我的问题。 而且我根本不需要做chown
。 但是我在其他地方看到过这种方法的引用。
参考:
- http://wp.tutsplus.com/articles/tips-articles/quick-tip-upgrade-your-wordpress-site-via-ssh/
- http://codex.wordpress.org/Editing_wp-config.php#Enabling_SSH_Upgrade_Access
通常你可以将你的插件上传到wp-contentplugins
目录。 如果您无法通过 SFTP 访问此目录,恐怕您会被卡住。
您可以通过在命令提示符下键入以下命令来轻松获取它
sudo chown -R www-data:www-data your_folder_name
或将以下代码复制并粘贴到 wp-config.php 文件中。
define('FS_METHOD', 'direct');
其中“your_folder_name”是您的 WordPress 安装在此文件夹中的文件夹。
如果您使用的是Ubuntu ,一个对我有用的快速解决方案是将所有权授予Apache用户(默认为 www-data),如下所示:
cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content
你可能还喜欢下面这些文章

本文详细解析了WordPress附件上传路径错误的常见原因及系统解决方案。当出现"上传目录不可写"等错误时,主要涉及服务器权限设置不当、目录结构变更或配置文件出错等问题。文章从基础设置检查入手,指导用户验证媒体默认路径、调整目录权限(建议75

WordPress默认用户角色系统常无法满足实际业务需求,本文详解如何自定义权限配置。文章首先解析WordPress"角色-权限"双层机制,介绍近70种内置权限的灵活组合方式。推荐使用Members等专业插件,通过可视化界面15分钟即可完成:

**摘要内容:** 本文详细介绍了在WordPress中设置文章阅读权限的方法,帮助网站管理者灵活控制内容的可见性。文章首先分析了设置权限的必要性,如保护付费内容或内部资料,随后讲解了WordPress自带的三种基础可见性选项(公开、密码保

WordPress上传图片时出现HTTP错误是常见但棘手的问题,通常由服务器配置、文件权限或插件冲突导致。本文提供系统排查方案:首先尝试刷新页面、更换浏览器或压缩图片;其次检查PHP上传限制(修改php.ini中的upload_max_fil

**摘要内容:** 管理用户权限是WordPress网站安全与高效运营的核心任务。本文系统介绍了WordPress的权限管理方法:首先解析默认的五种用户角色(管理员、编辑、作者、投稿者、订阅者)及其权限差异;随后分步演示如何查看、修改用户角

WordPress后台无法登录是常见问题,本文系统梳理了故障原因与解决方案。首先检查基础问题:确认登录地址正确、密码无误(注意大小写),尝试密码重置或更换浏览器。若问题依旧,可能是插件/主题冲突,建议通过FTP重命名plugins文件夹或更换

WordPress插件安装后无法激活是常见问题,通常由权限不足、环境冲突或文件损坏导致。首先检查用户权限,确保拥有管理员权限;其次在站点健康页面确认PHP版本符合插件要求(建议PHP 7.4+)。通过FTP检查插件文件夹权限(目录755/文件

WordPress图片上传失败是常见问题,通常由文件格式、大小限制、服务器配置或权限问题导致。本文提供系统排查指南:首先检查图片格式和大小,确保符合要求;其次调整服务器PHP配置(如`upload_max_filesize`和`post_ma