我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
我在我的live服务器上使用WordPress,它只使用SSH密钥的SFTP。
我想安装和升级插件,但似乎需要输入FTP登录来安装插件。有没有一种方法可以通过手动上传文件来安装和升级插件,而不是让WordPress来处理整个过程?
当前回答
请添加define('FS_METHOD','direct');在wp-config.php
其他回答
立体交互的答案涵盖了所有选项。只是想提一下使用FTP的另一种方式。我猜你不允许FTP访问的原因是为了安全。解决这些安全问题的一种方法是只在127.0.0.1上运行FTP服务器
这允许你在WordPress内部使用FTP,你可以安装插件,而不会暴露给其他世界。这也可以应用到其他流行的web应用程序,如Joomla!和Drupal。这就是我们用BitNami设备和云服务器所做的,而且效果很好。
为了能够使用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
只是对wp-config.php进行了快速更改
define('FS_METHOD','direct');
就是这样,享受你的wordpress更新没有ftp!
替代方法:
有一些主机会阻止这种方法工作 来简化您的WordPress更新。幸运的是,还有另一种方法 防止这个害虫提示您输入FTP用户名和密码。 同样,在wp-config.php文件中的MYSQL登录声明之后, 增加如下内容:
define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
您可以通过在命令提示符上键入以下命令很容易地获得它
sudo chown -R www-data:www-data your_folder_name
或者复制并粘贴以下代码到您的wp-config.php文件中。
define('FS_METHOD', 'direct');
“your_folder_name”是你的WordPress安装在这个文件夹中的文件夹。
这里有一个简单的方法。
执行以下命令。
这将为Apache启用mod_rewrite模块
$sudo a2enmod rewrite
这个命令将更改文件夹的所有者为www-data
$sudo chown -R www-data [Wordpress Folder Location]
执行以上命令后,您可以在没有FTP的情况下安装任何主题。