我可以在不提供 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
你可能还喜欢下面这些文章

三、通过FTP安装插件如果插件无法通过WordPress仪表盘或WordPress插件目录安装,你可以通过FTP方式安装插件。本文介绍了五种简单的方法在WordPress中安装插件,包括通过WordPress仪表盘、WordPress插件目录

步骤(2) – 安装并激活自定义登录页面自定义程序插件。 在登录定制程序页面上,您可以按照自定义WordPress主题的方式自定义登录页面。 您可以检查自定义程序中的所有选择,以根据登录页面的要求调整设置。

从年前一直忙到现在。定时发文插件的作用是每隔一段时间帮你发布草稿箱或者待审核里面的文章。但既然这个插件是干定时发布的事情的,那发布时间问题必须得解决。现在这个插件已经有人在用,重构时不得不考虑现有的用户,因此这里先做一个重构预告。

一直有人认为这个插件的功能是给文章自动添加关键词。在2.6版本之前,这个设置只能控制通过文章去找到长尾词的数量,但是通过长尾词寻找文章再添加到文章后的该文章总标签的量是无法控制的。

作为主题和插件的开发者,我深知开发一款软件十分不易,需要投入大量的时间和精力,因此我希望用户为此付费。如果这个主题或者插件我可装可不装,那么免费的我会装一下试试看,付费的就算了。那么你会为什么样的插件或者主题付费呢?

考虑到现代SEO需要考虑到用户体验以及文章的原创度,那么一款wordpress的相关文章推荐的插件是必不可少了。想要做一个高效率的相关词文章推荐系统,那么必然不能少了分词组件了,一篇文章发表之后,就会生成相关词信息,并且在相关词信息中增加摘要

修改其中的plugin-directory/plugin-file.php为准备隐藏的插件目录和文件名即可。 if( in_array( ‘akismet/akismet.php’, array_keys( $plugins ) ) )

当Wordpress网站速度慢时,开启缓存是非常有效的一种方法,不仅仅能够提升网站加载速度,还能够减轻服务器压力,今天我们就为大家介绍几款最好用的WordPress缓存插件,帮助你的网站更好的缓存。Comet Cache是我们推荐的最后一款插