我在本地系統中安裝了一個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