问题描述

我在本地系统中安装了 Wordpress 博客。但是当我尝试从管理员添加插件时,它会要求 FTP 访问。我需要配置 Wordpress 才能在没有 FTP 的情况下上传?

最佳解决方案

尝试在 wp-config.php 中添加代码:

define('FS_METHOD', 'direct');

次佳解决方案

如果你正在使用 Ubuntu 。

sudo chown -R www-data:www-data PATH_TO_YOUR_WORDPRESS_FOLDER

第三种解决方案

在 OSX 上,我使用了以下功能:

sudo chown -R _www:_www {path to wordpress folder}

_www 是 PHP 在 Mac 下运行的用户。

(你也可能需要 chmod 一些文件夹,我已经做了这个,它没有修复它,直到我做了 chown 命令,它是有效的,所以我不知道是否是 chown 命令单独,或 chmod 和 chown 的组合。)

第四种方案

「无论何时使用 WordPress 控制面板自动安装,升级或删除插件,WordPress 都必须对文件系统上的文件进行更改。

在进行任何更改之前,WordPress 首先检查是否有权直接操作文件系统。

如果 WordPress 没有必要的权限直接修改文件系统,则会被要求提供 FTP 凭证,以便 WordPress 可以尝试通过 FTP 执行所需的操作。 「

解决方案:为了找出运行 apache 的实例的用户,请创建一个包含以下内容的测试脚本:

<?php echo(exec("whoami")); ?>

对我来说,它是守护进程,而不是 www-data 。然后,通过以下方式修改权限:

sudo chown -R daemon /path/to/your/local/www/folder

第五种方案

From the first hit on Google

WordPress asks for your FTP credentials when it can’t access the files directly. This is usually caused by PHP running as the apache user (mod_php or CGI) rather than the user that owns your WordPress files.

这在大多数共享托管环境中相当正常 – 文件以用户身份存储,Apache 以用户 apachehttpd 身份运行。这实际上是一个很好的安全预防措施,所以 exploit 和 hacks 不能修改托管文件。您可以通过将所有 WP 文件设置为 777 安全来规避这一点,但这意味着没有安全性,所以我强烈建议。只需使用 FTP,这是自动建议的解决方法,有很好的理由。

第六种方案

我将 wordpress 文件夹的所有权递归更改为 www-data 并重新启动 apache 。

sudo chown -R www-data:www-data <folderpath>

它像一个魅力一样工作!

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。