我在本地系统中安装了一个Wordpress博客。但是当我尝试从管理员添加插件时,它要求FTP访问。我需要配置Wordpress才能在没有FTP的情况下上传?Wordpress要求我的FTP凭据安装插件
回答
尝试添加代码的wp-config.php文件:
define('FS_METHOD', 'direct');
WordPress的询问你的FTP凭据时它不能直接访问这些文件 。这通常是由PHP作为apache用户 (mod_php或CGI)运行引起的,而不是拥有WordPress文件的用户。
这在大多数共享托管环境中,而正常 - 文件被存储为用户,并运行Apache用户apache
或httpd
。这实际上是一种很好的安全预防措施,因此利用和黑客无法修改托管文件。你可以通过将所有WP文件设置为777安全来避开这种情况,但这意味着没有安全性,所以我会强烈反对这一点。只需使用FTP,这是自动建议的解决方法,有很好的理由。
感谢您的解释。有没有办法将共享服务器配置为以正确的用户身份运行PHP或修复所有者或其他解决方案? –
在OSX,我用下面的,和它的工作:
sudo chown -R _www:_www {path to wordpress folder}
_www是执行PHP的用户在Mac上。 (你也可能需要chmod一些文件夹,我之前做过,但没有解决它,直到我做了chown命令才工作,所以我不确定它是否可以是单独的chown命令,或chmod和chown的组合。)
正如Niels所述,发生这种情况是因为服务器进程用户无法写入Wordpress文件夹。
但这里有很多文章无法解释的东西。它是php进程的所有者,而不是nginx进程。如果您尝试更改nginx所有者,它不会解决此问题。
要解决此问题,请尝试运行ps aux
以查看哪个用户拥有php-fpm进程。然后检查该用户是与wordpress文件夹的所有者相同的用户,还是至少可以写入该用户。如果用户无法写入,则需要更改文件夹的权限和/或所有权;或者将两个用户(服务器所有者和wordpress文件夹所有者)放在可以写入该文件夹的公共组中;或将php.ini“user”属性更改为可写入该文件夹的用户。
如果您使用的是Ubuntu。
sudo chown -R www-data:www-data PATH_TO_YOUR_WORDPRESS_FOLDER
-1不好的想法做到这一点,只有wp-content应该归属于'www-data'请看这里:http://codex.wordpress.org/Hardening_WordPress或在这里:http://stackoverflow.com/questions/18352682/correct-file-permissions-for-wordpress – timhc22
此答案还修复了错误“安装失败:无法找到WordPress内容目录(wp-content)”。试图从仪表板安装插件时。 – WindChimes
“每当你使用WordPress的控制面板设置为自动安装,升级或删除插件,WordPress的必须在文件系统中文件的更改。
进行任何更改之前,WordPress的首先检查是否或者没有权限直接操纵文件系统
如果WordPress没有直接修改文件系统的必要权限,系统会要求您提供FTP凭据,以便WordPress可以尝试通过FTP完成所需操作。“
解决方案: 为了找出你的Apache实例运行哪些用户如,创建具有以下内容的测试脚本:
<?php echo(exec("whoami")); ?>
对于我来说,这是守护进程,而不是www数据然后,通过固定的权限:
sudo chown -R daemon /path/to/your/local/www/folder
不要忘记禁用exec()或类似的敏感功能。在生产中。 – Arda
更好的是使用'<?php echo(exec(“id”)); ?>'这甚至会提供超出用户ID的组数据:'uid = 5018(web27)gid = 5012(client7)groups = 5012(client7),5002(sshusers)' –
第一位置移动到安装文件夹(例如)
cd /Applications/XAMPP/xamppfiles/
现在,我们要修改您的htdocs目录:
sudo chown -R daemon htdocs
输入根口令提示时,然后在chmod调用完成它:
sudo chmod -R g+w htdocs
我改变了WordPress的所有权文件夹到www数据递归并重新启动apache。
sudo chown -R www-data:www-data <folderpath>
它像一个魅力工作!
这对大多数人来说可能是正确的答案。我认为这是我第三次创建了一个文件夹并被忘记了。 – MrMysterious2502
来解决这个问题最简单的方法是添加下面的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安装的wp-content文件夹的完整路径。 FTP_PLUGIN_DIR是WordPress安装的插件文件夹的完整路径。
FTP不安全,因此我们禁用它,所以它不是一个解决方案。我们使用SFTP来代替。 –
我们遇到了同样的问题,作为更大问题的一部分。的
define('FS_METHOD', 'direct');
建议的解决方案隐藏了窗口,但随后我们仍然有与装载主题和升级等,这是涉及到权限问题然而,在我们的例子中,我们从PHP操作系统厂商mod_php的移动到固定的问题更安全的php操作系统供应商FastCGI应用程序。
我没有在Ubuntu 14.04以下列出here和运行简单的步骤的WordPress的本地安装:
sudo chown -R www-data:www-data {path_to_your_project_directory}
解决了我的问题与下载插件。我离开这篇文章的唯一原因是因为当我搜索我的问题时,这是第一个结果,它使我找到了解决问题的方法。
希望这对任何人都有帮助!
- 1. EC2上的WordPress需要FTP凭证才能安装插件
- 2. WordPress插件安装要求FTP详细信息
- 3. 本地主机上的Wordpress要求在MAC上的FTP凭证
- 4. Wordpress插件要求
- 5. wordpress插件安装
- 6. 禁用wordpress要求登录凭据
- 7. Ubuntu上的Wordpress安装插件无需FTP访问
- 8. netbeans插件安装失败,org.netbeans.modules.maven.model要求
- 9. Wordpress插件它要求FTP详细信息
- 10. Wordpress插件安装两次
- 11. 不能安装wordpress插件
- 12. 跟踪wordpress插件安装
- 13. 预安装Wordpress插件
- 14. Wordpress-无法安装插件
- 15. Kibana要求凭据
- 16. jenkins - 插件(凭证)手动安装
- 17. 我想在本地Wordpress安装上安装插件
- 18. 我可以使用WordPress插件,如果我安装WordPress与SQL
- 19. 要求数据源凭据
- 20. Wordpress Bitnami AWS安装的FTP权限?
- 21. 安装要求
- 22. 为什么我要求凭据
- 23. WordPress的TinyMCE插件安装失败
- 24. WordPress的插件安装失败
- 25. WordPress的插件安装失败
- 26. psql总是要求凭据
- 27. IIS要求登录凭据
- 28. Grails的安装,插件我
- 29. 如何在不提供FTP详细信息的情况下安装wordpress插件?
- 30. MSI根据FireFox的要求安装dll
我一直在搜索这个答案,所以我在这里为我自己和其他人发帖: 该代码位于wp-admin/includes/file.php:get_filesystem_method。Wordpress尝试创建一个文件'wp-content/temp-write-test - '。time()。如果失败,它假定您只能使用FTP。但是这可能不是真的,如果wp-content本身不可写,但是例如wp-content/plugins是。然后,强制FS_METHOD工作。 –
它的工作原理,但现在的问题是解压后的错误说:“无法创建目录”。 – Drew
这对我有帮助,但仅仅是因为它暴露了更多有关失败的信息。核心问题是对正在进行更新的用户帐户拥有写入权限。对于每种类型的系统,这可以是不同的。 (注意下面的一些答案告诉你为守护进程,httpd或apache设置写入权限......)它帮助我从下面的注释中看到PHP代码片段(<?php echo(exec(“whoami”)); ?>),以便我可以告诉用户正在运行更新。在这里提出的修改似乎只是简单地抑制了FTP凭据的挑战,所以我可以看到错误消息。 – agentv