我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
当前回答
在我的例子中,我在RHEL 8.6上运行Apache。移动文件(而不是复制文件)导致我的wordpress根文件夹的selinux上下文错误。禁用selinux允许我重新安装插件。但是,由于这是一个生产服务器,我希望selinux处于强制模式。通过运行这个命令来恢复wordpress根目录的默认selinux上下文,我能够解决这个问题。
restorecon -vR /var/www/html/
您可以参考此链接,了解解决与selinux相关的任何问题的其他方法。
其他回答
如果你使用Ubuntu,一个对我有效的快速解决方案是将所有权交给Apache用户(默认为www-data),如下所示:
cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content
将以下代码添加到wp-config中
define('FS_METHOD', 'direct');
FS_METHOD强制使用文件系统方法。只能是direct、ssh2、ftpext或ftpsockets。通常,只有在遇到更新问题时才应该更改此选项。如果你改了也没用,那就改回来/去掉。在大多数情况下,如果自动选择的方法不起作用,将其设置为'ftpsockets'将正常工作。
(主要偏好)“direct”迫使它从PHP内部使用直接文件I/O请求,这在配置不佳的主机上充满了安全问题,这是在适当的时候自动选择的。
(二级偏好)“ssh2”是强制使用SSH PHP扩展如果安装
(第三优先)“ftpext”是强制使用FTP PHP扩展进行FTP访问,最后
(4日偏好)“ftpsockets”使用PHP套接字类进行FTP访问
欲了解更多信息,请访问:http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
方法1: 你可以这样设置: 1. 在wp-config.php中,您需要编写这些行。
define('FS_METHOD', 'direct');
注意:把这个放在define('DB_CHARSET', 'utf8mb4')之后。
设置wp-content权限或权限递归775完全权限 你可以通过filezilla传播。写点击目录>权限>检查读写和执行,并检查递归到子目录
方法2:
或者你也可以设置这个
define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
在我的例子中,我在RHEL 8.6上运行Apache。移动文件(而不是复制文件)导致我的wordpress根文件夹的selinux上下文错误。禁用selinux允许我重新安装插件。但是,由于这是一个生产服务器,我希望selinux处于强制模式。通过运行这个命令来恢复wordpress根目录的默认selinux上下文,我能够解决这个问题。
restorecon -vR /var/www/html/
您可以参考此链接,了解解决与selinux相关的任何问题的其他方法。
您可以在wp-config.php中添加以下内容
define('METHOD','direct');
这是youtube上的一个视频,解释了如何做到这一点。https://youtu.be/pq4QRp4427c