问题描述
我在本地系统中安装了 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
第五种方案
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 以用户 apache
或 httpd
身份运行。这实际上是一个很好的安全预防措施,所以 exploit 和 hacks 不能修改托管文件。您可以通过将所有 WP 文件设置为 777 安全来规避这一点,但这意味着没有安全性,所以我强烈建议。只需使用 FTP,这是自动建议的解决方法,有很好的理由。
第六种方案
我将 wordpress 文件夹的所有权递归更改为 www-data 并重新启动 apache 。
sudo chown -R www-data:www-data <folderpath>
它像一个魅力一样工作!
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。