预计阅读时间: 5 分钟

一、WordPress提示:执行请求动作,连接信息必需提供。(在wordpress后台自动升级以及更新删除主题或者插件的时候。)需要输入FTP账户信息。
百度Google找了一些资料。据说这个填写FTP信息界面,只会出现在PHP进程不是以用户身份来运行的主机上,也就是网站服务器运行PHP的用户和wordpress文件夹的所有者不一样,目的就是为了安全,wordpress在升级时会创建一个临时文件看看owner是不是和当前运行的php是否一样,如果不一样,就会出现这个界面。
遇到这种情况有两种解决办法:
1、填写连接信息。 如果为了以后更新方便的话可以在 wp-config.php 中加入一下代码:

// ** FTP SETTINGS FOR AUTO-UPDATE ** //
define(‘FTP_HOST’, ‘localhost’);
define(‘FTP_USER’, ‘ftp帐号’);
define(‘FTP_PASS’, ‘ftp密码’);

这样无论升级 wordpress 或者插件的时候就都不会有那个FTP提示了。
2、修改文件的权限和用户组。
首先修改Wordpress 的权限,需要有写的权限:
chmod -R 755 /var/www/wordpress
解释:chmod是修改文件(夹)权限的命令,这里加了一个R参数,就是把/var/www/wordpress文件夹内的所有文件(夹)的权限都修改为755
chown -R www /var/www/wordpress
解释: chown是修改文件(夹)用户组的命令,参数R的作用和 chmod 的一样,不过执行此命令需要有root权限。
这样假设服务器的PHP的用户组是www,修改完以后再去尝试wordpress的自动升级,一键升级就能顺利进行了。

二、正确输入FTP主机用户名和密码等连接信息后,仍然无法完成更新或者升级等操作,怎么办?

据说这个是服务器端的权限设置问题。为了以后遇到此类问题不再到处求助,遂把几位朋友的问题最终之解决办法记录整理与下:

办法1、修改FTP相关信息之后,复制下面这段代码到wp-config.php文件中的?>之前:
//*added ftp login credentials to avoid the annoying prompt asking for login info every time I wanted to upgrade a plugin*
define(‘FTP_HOST’, ‘ftp.yoursite.com’);
define(‘FTP_USER’, ‘Your_FTP_Username’);
define(‘FTP_PASS’, ‘Your_FTP_password’);
//*If you can use a SSL connection set this to true*
define(‘FTP_SSL’, true);

办法2、复制下面这段代码到wp-config.php文件中的?>之前:


/** ftp theme and plugins**/
define(‘FTP_BASE’, ‘/path/to/wordpress/’);
define(‘FTP_CONTENT_DIR’, ‘/path/to/wordpress/wp-content/’);
define(‘FTP_PLUGIN_DIR’, ‘/path/to/wordpress/wp-content/plugins/’);
define(‘FTP_USER’, ‘Your_FTP_Username’);
define(‘FTP_PASS’, ‘Your_FTP_password’);
define(‘FTP_HOST’, ‘ftp.yoursite.com’);
define(‘FTP_SSL’, false);

方法3、复制下面这段代码到wp-config.php文件中的?>之前:

/** Override default file permissions */
if(is_admin()) {
add_filter(‘filesystem_method’, create_function(‘$a’, ‘return “direct” ;’ ));
define( ‘FS_CHMOD_DIR’, 0751 );
}

注意:复制粘贴上面的代码后,确认标点均为英文状态下的符号格式。

此文章对你有帮助吗? 已有 0 人说这篇文章是有用的。