我可以在不提供 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插件目录
//developer.wordpress.org/reference/functions/wp_mkdir_p/。它返回上传目录路径并创建一个文件夹(如果尚不存在)。
你可以从这个路径找到php.ini文件。已经重新启动了您的网络服务器。中找到重新启动您的服务器将有助于它开始工作。文件,然后在文件搜索中使用此代码更改不要忘记重新启动xampp使用。
在本章中,我们将学习如何安装WordPress的插件。以下是在WordPress中安装插件的简单步骤。与插件名称相关的插件列表将显示为如以下屏幕中所示。一旦激活,您将在插件列表中看到安装的插件,如下面的屏幕所示。
点击Browse,它会返回到您可以从WordPress网站选择插件的页面。plugin以激活该插件以在WordPress中使用,如下面的屏幕所示。Plugins中,您只需在已安装的文本框中输入您的插件名称,然后点击Search。
摘要:本文是关于WordPress主题imwpnovel的说明书,介绍了环境要求、安装步骤、域名绑定、后台使用及注意事项等。该主题需要PHP5.2以上和WordPress4.7以上的环境。安装方法包括通过WordPress后台上传或FTP上传
但是专业人士会告诉你,你需要得到一个彼得您的所有问题现在都已解决,只需按照以下说明操作:转到您的主题然后取消激活您当前的主题,只需在主题名称的第一个字母中输入“x”即可。