我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
当前回答
我看到很多人建议将权限设置为777。2天前我也有同样的问题,我所做的就是,将此添加到wp-content
define('FS_METHOD', 'direct');
and
设置插件文件夹的权限为775
这解决了我询问FTP访问登录名/密码的问题。
在此之前,我必须手动添加插件,将.zip文件添加到插件文件夹,然后进入wp-admin/plugins,并必须安装它。
其他回答
将以下代码添加到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
只是想补充一点,你绝对不能将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/*
为了能够使用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期间没有设置一个passphrase;然后不要在wp-config.php中添加它
这解决了我的问题。而且我根本不用嚼东西。但我在其他地方看到过这种方法。
引用:
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
是的,你能做到。
你需要加上
define('METHOD','direct');
在wpconfig中。 但是这种方法并不可取,因为它存在安全隐患。
谢谢,
打开wp-config.php文件并添加以下行:
定义(“FS_METHOD”、“直接”);
这对我很有用…谢谢