我在我的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,并必须安装它。
其他回答
如果WordPress不能直接写入/wp-content,它只会在安装插件或WordPress更新时提示您输入FTP连接信息。否则,如果您的web服务器具有对必要文件的写访问权,它将自动负责更新和安装。这种方法不需要你有FTP/SFTP或SSH访问权限,但它需要你在你的web服务器上设置特定的文件权限。
它将按顺序尝试各种方法,如果Direct和SSH方法不可用,则退回到FTP。
https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912
WordPress会尝试写一个临时文件到你的/wp-content目录。如果成功,它会将文件的所有权与它自己的uid进行比较,如果有匹配,它将允许你使用“直接”方法安装插件、主题或更新。
现在,如果出于某种原因,你不想依赖于自动检查使用哪个文件系统方法,你可以在你的wp-config.php文件中定义一个常量,'FS_METHOD',即'direct', 'ssh', 'ftpext'或'ftpsockets',它将使用该方法。请记住,如果您将此设置为“direct”,但您的web用户(web服务器运行的用户名)没有适当的写权限,您将收到一个错误。
总之,如果你不想(或你不能)改变wp-content的权限,这样你的web服务器就有写权限,那么把这个添加到你的wp-config.php文件中:
define('FS_METHOD', 'direct');
权限说明如下:
http://codex.wordpress.org/Updating_WordPress#Automatic_Update http://codex.wordpress.org/Changing_File_Permissions
您可以通过在命令提示符上键入以下命令很容易地获得它
sudo chown -R www-data:www-data your_folder_name
或者复制并粘贴以下代码到您的wp-config.php文件中。
define('FS_METHOD', 'direct');
“your_folder_name”是你的WordPress安装在这个文件夹中的文件夹。
两个步骤
在wp-config文件中添加以下代码 定义(“FS_METHOD”、“直接”); 我们需要给予文件夹的完全权限,如服务器连接SSH,然后在终端粘贴下面的代码,并确保您在网站文件夹内,然后运行下面的代码 sudo chmod -R 775 wp-content/plugins 或给予完全权限的网站文件夹 sudo chown -R www-data:www-data网站文件夹
可以使用SFTP或SSH在WordPress中自动更新插件,但你需要有ssh2 pecl扩展。您可以通过下面的教程了解如何做到这一点
只是对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");