WordPress提示填写FTP账户连接信息问题汇总

博客添加或删除主题或插件的时候,会有提示:要执行请求的操作,WordPress 需要访问您网页服务器的权限。 请输入您的 FTP 登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的网站托管商。

lianjie

用wordpress建站的朋友,在过去的使用过程中,有没有被上面这样的情况所困扰呢?

一、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 );
}

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

18 评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注