我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
当前回答
是的,你能做到。
你需要加上
define('METHOD','direct');
在wpconfig中。 但是这种方法并不可取,因为它存在安全隐患。
谢谢,
其他回答
设置ftp或SFTP连接或chmod 777是除了本地环境以外的任何方法。即使打开SFTP方法也会带来更多不必要的安全风险。
所需要的是这些目录的所有者对/wp-content/uploads & /wp-content/plugins/的可写权限。(linux ls -la将显示你的所有权)。
apache默认运行用户为www-data。
Chmod 777允许机器上的任何用户编辑这些文件,而不仅仅是apache/php线程用户。
如果您还没有使用SFTP,它将从外部来源引入另一个可能的故障点。而你只需要本地用户运行apache/php进程就可以完成这个目标。
没有看到任何人提出这些观点,所以我想我将提供这些信息,以帮助解决我们不断出现的在线WP安全问题。
在我的例子中,我在RHEL 8.6上运行Apache。移动文件(而不是复制文件)导致我的wordpress根文件夹的selinux上下文错误。禁用selinux允许我重新安装插件。但是,由于这是一个生产服务器,我希望selinux处于强制模式。通过运行这个命令来恢复wordpress根目录的默认selinux上下文,我能够解决这个问题。
restorecon -vR /var/www/html/
您可以参考此链接,了解解决与selinux相关的任何问题的其他方法。
当你没有权限在/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插件的错误信息。
立体交互的答案涵盖了所有选项。只是想提一下使用FTP的另一种方式。我猜你不允许FTP访问的原因是为了安全。解决这些安全问题的一种方法是只在127.0.0.1上运行FTP服务器
这允许你在WordPress内部使用FTP,你可以安装插件,而不会暴露给其他世界。这也可以应用到其他流行的web应用程序,如Joomla!和Drupal。这就是我们用BitNami设备和云服务器所做的,而且效果很好。
如前所述,没有任何烫发修复工作了。你需要相应地改变perms,并将以下内容放入wp-config.php:
define('FS_METHOD', 'direct');