我安装在我的本地系统中的WordPress博客。 但是,当我尝试从管理员添加插件,它要求FTP访问。 我需要什么配置让WordPress能够在不FTP上传?
Answer 1:
尝试在WP-config.php中添加代码:
define('FS_METHOD', 'direct');
Answer 2:
如果您在使用Ubuntu。
sudo chown -R www-data:www-data PATH_TO_YOUR_WORDPRESS_FOLDER
Answer 3:
“当你使用WordPress的控制面板,自动安装,升级或删除插件,WordPress的必须更改文件系统上的文件。
在进行任何更改之前,WordPress的首先检查它是否具有访问直接处理的文件系统。
如果WordPress的没有必要的权限直接修改文件系统,你将被要求提供FTP凭据,以便WordPress的可以尝试做它通过FTP需要“。
解决方法:为了找出用户在Apache的实例运行为,创建具有以下内容的测试脚本:
<?php echo(exec("whoami")); ?>
对我来说,这是守护进程,而不是www数据。 然后,通过修正权限:
sudo chown -R daemon /path/to/your/local/www/folder
Answer 4:
在OSX上,我用下面的,和它的工作:
sudo chown -R _www:_www {path to wordpress folder}
_www是PHP运行在Mac上的用户。
(您可能还需要属性某些文件夹了。我这样做了第一,它并没有解决它。但直到我做了chown命令它的工作,所以我不知道这是否是chown命令单独,或chmod和CHOWN的组合。)
Answer 5:
我改变了WordPress的文件夹的所有权www数据递归并重新启动Apache的。
sudo chown -R www-data:www-data <folderpath>
它的工作就像一个魅力!
Answer 6:
从第一次打在谷歌 :
WordPress的询问您的FTP凭据时它不能直接访问这些文件。 这通常是由PHP运行引起的apache用户(mod_php的或CGI),而不是拥有你的WordPress文件的用户。
这是在大多数共享宿主环境,而正常的-该文件存储为用户和运行Apache用户apache
或httpd
。 其实,这是一个很好的安全预防措施,以便攻击和黑客不能修改托管文件。 您可以通过所有WP文件设置为777安全规避这一点,但是这意味着没有保障,所以我会强烈建议不要这一点。 只要使用FTP,它的自动建议的解决方法有很好的理由。
Answer 7:
首先移动到安装文件夹(例如)
cd /Applications/XAMPP/xamppfiles/
现在,我们要修改您的htdocs目录:
sudo chown -R daemon htdocs
输入根口令提示时,然后在chmod调用完成它:
sudo chmod -R g+w htdocs
Answer 8:
我做了一个本地的WordPress在Ubuntu 14.04以下列出的步骤安装在这里 ,简单地运行:
sudo chown -R www-data:www-data {path_to_your_project_directory}
解决了下载插件我的问题。 我在这里离开这个职位的唯一原因是因为当我GOOGLE了我的问题,这是第一次的结果之一,它使我解决我的问题。
希望这可以帮助一个对任何人!
Answer 9:
解决这个问题最简单的方法是添加下面的FTP信息到您wp-config.php
define('FS_METHOD', 'direct');
define('FTP_BASE', '/usr/home/username/public_html/my-site.example.com/wordpress/');
define('FTP_CONTENT_DIR', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/plugins/');
FTP_BASE是“基地”的全路径的WordPress安装FTP_CONTENT_DIR的(ABSPATH)文件夹是与WordPress安装的可湿性粉剂内容文件夹的完整路径。 FTP_PLUGIN_DIR是到WordPress安装的插件文件夹的完整路径。
Answer 10:
我们有同样的问题作为一个更大问题的一部分。 的建议的解决方案
define('FS_METHOD', 'direct');
隐藏了窗口,但随后我们仍然有与装载主题和升级等,这是涉及到权限然而,在我们的例子中,我们从PHP操作系统供应商mod_php的移动到更安全的PHP操作系统供应商FastCGI应用程序解决了这一问题的问题。
Answer 11:
正如尼尔斯提到的,这是因为服务器进程的用户不能写入到WordPress的文件夹中。
但这里有一个很大的文章没有解释的东西。 这是PHP进程的所有者,而不是nginx的过程。 如果你试图改变nginx的主人,也不会解决这个问题。
为了解决这个问题,尝试运行ps aux
看看哪些用户拥有的php-fpm的过程。 然后检查用户是同一用户作为wordpress的文件夹的所有者,或者至少可以写入。 如果用户不能写,你需要更改权限和/或文件夹的所有权; 或把两个用户(服务器所有者和WordPress文件夹的所有者),其中可以写入到该文件夹的公共基团; 或php.ini的“用户”属性更改为可以写入该文件夹的用户。
Answer 12:
还有很多类似的答复这个问题,但他们没有在根源完全碰。 塞巴斯蒂安施密德的在原来的岗位评论触及到它,但不完全。 这里是我就拿的2018年11月6日:
根本原因
当您尝试通过WordPress管理界面上传插件,WordPress会拨打电话到一个名为“get_filesystem_method()”函数(参考: /wp-admin/includes/file.php:1549 )。 这个程序将尝试写在问题上文件的位置(在这种情况下,插件目录)。 这当然可以立即失败这里如果文件权限不允许WordPress用户(想用户身份执行PHP)写的文件有问题的位置设置正确。
如果该文件可以被创建,这个功能则检测到临时文件的文件所有者,与功能的当前文件(参考:文件属主一起/wp-admin/includes/file.php:1572 ),并比较两者。 如果它们匹配,在WordPress的话来说,“WordPress是创建文件的所有者相同WordPress的文件,这意味着它是安全的通过PHP修改和创建新的文件”和你的插件上传成功,而不FTP凭据提示。 如果它们不匹配,你的FTP凭据提示。
修复
- 确保插件目录有写入运行你的PHP过程中的身份。
确保身份运行你的PHP的过程是任何文件所有者:
a)所有的WordPress应用程序文件,或...
b)在最起码的/wp-admin/includes/file.php文件
最终意见
我不是太热衷于采用专门文件的所有权的file.php来解决此问题(感觉哈克,至少可以说一点点!)。 在我看来,在这一点上WordPress的代码库,朝向具有我们同样的用户主要为WordPress的应用程序文件的文件所有者下执行PHP程序倾斜。 我将欢迎社会各界对这一一些意见。
Answer 13:
我正面临同样的问题! 我在wp-config.php文件中添加以下代码(在任何线)和它的工作吧!
define('FS_METHOD', 'direct');