我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。

我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?


当前回答

从php_mod更改为fastcgi,启用cgi和SuEXEC (ISPConfig用户)。对我有用。

如果不工作,尝试将wp-content更改为775作为root或sudo用户:

chmod -R 775 ./wp-content

然后添加到wp-config.php:

define('FS_METHOD', 'direct');

祝你好运

其他回答

我看到很多人建议将权限设置为777。2天前我也有同样的问题,我所做的就是,将此添加到wp-content

define('FS_METHOD', 'direct');

and

设置插件文件夹的权限为775

这解决了我询问FTP访问登录名/密码的问题。

在此之前,我必须手动添加插件,将.zip文件添加到插件文件夹,然后进入wp-admin/plugins,并必须安装它。

当你没有权限在/wp-content目录上写内容时,WordPress不允许你通过WordPress管理仪表板上传任何插件的唯一原因。请记住,您的wordpress目录/wp-content需要0755权限级别。 有多种方法可以更改文件夹的权限级别。

使用cPanel更改文件权限:

进入文件管理器,打开你的wordpress网站应该在的公共HTML文件夹,或者如果你的网站在其他文件夹中,打开网站根目录。在你的WordPress根目录导航到wp-content文件夹;在wp-content文件夹行的末尾,最后一个框包含此文件夹的文件权限。确保将文件夹权限级别编辑为0755,就完成了。

使用SSH终端修改文件权限:

在你的终端找到WordPress站点的根目录,在我的例子中是/var/www/html,所以要移动到WordPress根目录,输入以下命令:

cd /var/www/html 

现在你在WordPress根目录中,需要的文件夹/wp-content就在这里。因此,要更改文件权限键入以下命令:

sudo chmod wp-content 755 

这将更改您的/wp-content目录文件权限为0755。

现在你不会得到通过FTP上传wordpress插件的错误信息。

只是想补充一点,你绝对不能将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;博士版:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*

如果你使用Ubuntu,一个对我有效的快速解决方案是将所有权交给Apache用户(默认为www-data),如下所示:

cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content

您可以在wp-config.php中添加以下内容

define('METHOD','direct');

这是youtube上的一个视频,解释了如何做到这一点。https://youtu.be/pq4QRp4427c