如何解决更新 WordPress 需要访问您网页服务器的权限问题?

网站提示有 WordPress 更新可用,但在线更新时却提示:要执行请求的操作,WordPress需要访问您网页服务器的权限。请输入您的 FTP 登录凭据以继续。

我输入 FTP 登录用户名和密码,网页无响应。我猜测会否主机名错误了,就填写了 FTP 地址,仍然是错误的。

网络搜索了一下,有网友遇到相同问题,给出的解决办法是,在 WordPress 配置文件 wp-config.php 中,加上如下代码:

define("FS_METHOD","direct");
define("FS_CHMOD_DIR",0755);
define("FS_CHMOD_FILE",0644);

wp-config.php 文件在 WordPress 安装目录下,不同的服务器空间,FTP 的根目录可能位置会不同。

有些网友添加代码后就能解决问题,但我的仍然不行。提示:

由于某些文件无法被复制,更新无法进行。此问题通常是由于文件权限不一致造成的。

再请教网络,说是因为网站文件的所有者和网站文件夹的所有者不同导致的。仔细看了一下网站文件夹所有者和用户组是 www,而网站文件所有者和所在用户组是 root。

因为 WordPress 安装更新的时候要向 wp-content 这个目录写文件,如果这个目录文件属于的是 root 用户,而运行服务器的用户是 www 用户,这个用户只有读的权限,自然就无法写入。

我用宝塔面板查看了一下,发现更新所在的文件夹 wp-content 的所有者是 www,而文件的所有者是 root 。

网友建议在终端里写如下更改命令:

chown -R www www/wwwroot/hscd.org/wp-content

以上 www/wwwroot/hscd.org/wp-content,请根据你网站的实际路径更改一下。即把文件夹所有者 root 修改成 www 。

其实在宝塔面板中修改权限会很方便,点击文件夹右侧的“权限”链接,在设置界面修改所有者为“www",并“应用到子目录”,确定保存即可。

通过修改文件夹所有者权限,在线更新升级成功。


历史上的今天:

相关推荐

WordPress 在线更新失败,原因竟是 cURL 组件出了错

我有更新升级程序的执念,看到有新版而不能更新,心里会特别纠结。但我的 WordPress 程序和主题、插件,近半年多来一直不能在线更新,让我特别的不爽。 之前认为是网络访问的问题,由于 wordpress.org 网站在国外,很容易会被屏蔽,使用 WP-China-Yes 插件就解决了。详见(WordPress 更新插件出现"下载失败。cURL error ...

WordPress 更新后,回收站文章不见了怎么办?

我原来有篇文章发布后,因不合时宜,被网警蜀黎劝删了,我就放到了回收站中。也不知是从哪次 WordPress 更新升级后,“所有文章”栏目下,“回收站”的链接不见了,更别说回收站中的文章了。 我记得文章是6月份删除的,年前还在的。应该是安装了“计划任务”插件 WP Crontrol 后,在执行了几次同步任务后,不知触发了什么函数 ...

如何让 WordPress “图片”小工具的图片居中显示?

用 WordPress 博客程序架设网站时,我们经常会在侧边栏展示一些图片,WordPress 提供了“图片”小工具组件,可以让用户便捷地添加一张图片,并加上链接地址,实现重点推荐精品文章的功能。 但当小工具组件中展示的图片比侧边栏宽度小时,WordPress 默认是靠左排列图片的,有时会影响页面的美观。 那么,有什么让 WordPress ...

WordPress 网站纯代码实现“历史上的今天”文章调用方法

网站创建一年多了,文章也有500多篇了,如何让历史文章多个展现的机会,除了相关文章推荐,站长们还经常会用到“历史上的今天”功能,即在文章末端调用前几年同一天发布的文章列表。 这个功能最初是由柳城创建的 wp-today 插件实现的,这个插件已经停更多年了,其核心代码也不复杂,我们可以复制里面的代码到 WordPress 网 ...

5 条评论

  1. 你这个似乎改反了,只要wp所有权限都是www所有,就不需要添加上面那三个define了。

    • @不亦乐乎 我是添加了那三个define还不行,所以又改了权限为root,才正常的。

    • @不亦乐乎 我觉得你是对的,改成 root 后,站点健康检测,会显示文件不能写入,我后面又全改成 wwww 权限了,不加三个 define ,会显示需要 FTP 更新的信息。

  2. Linux好多权限问题看不懂啊

    • @MrHe 我只知道起作用了,但不知道为什么会这样。

发表评论

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