Php

Wordpress 外掛更新/安裝失敗

  • March 30, 2016

我一直在網上閱讀有關此主題的各種資訊。我剛剛在我的 Fedora 22 機器 x64 上安裝了 Wordpress。安裝非常順利,我可以訪問該站點,但根本無法更新外掛。

到目前為止,我已經看到了兩個不同的方向:

  1. 設置它要求的 FTP 伺服器,並為其提供正確的登錄身份驗證詳細資訊

我開始朝這個方向前進,但是當它不接受正確的憑據時,它真的碰壁了。

然後,在一篇舊的 Stack Overflow 文章中,我發現

  1. 添加define('FS_METHOD', 'direct');到 wp-config.php

這兩個問題都與文件系統權限問題有關。我試過更改/var/www/html 的所有者。在設置過程中(我按照此處的說明進行操作),說明將所有權和組設置為 apache:apache。它還說要更改這些目錄的 SELinux 策略。我嘗試將所有權更改為一些不同的東西,包括我的使用者、www-data、www_data,以及人們在網路上建議的所有其他東西。但是,沒有任何改變,直到我將上面的行添加到 wp-config.php。它不再要求 FTP 憑據,但它仍然失敗,而且幾乎可以肯定是因為權限。

許多文章說要將所有權更改為執行 php 或 php-fpm 程序的任何使用者——但那些沒有執行!嘗試ps aux | grep php並使用 sudo 進行了嘗試,但它顯示的唯一結果是 grep 程序正在尋找 php。

我在這裡遇到了一些障礙:我應該回溯,然後再次嘗試 FTP 方向,還是有其他方法可以解決權限問題?我什至不確定它在更新或安裝外掛時嘗試創建哪個文件夾。我做了一個sudo find / -name wordpress看看 /var/www/html 之外是否還有其他文件夾,其中唯一具有 wordpress 名稱的其他文件夾是 mysql 目錄。

另外,我不確定這是否是這篇文章的正確位置,但它似乎是最合乎邏輯的(因為它與 Wordpress/Apache 伺服器有關,而不僅僅是 Unix/Linux 本身),但如果可以隨意移動它我放錯了。

謝謝你提供的所有幫助。

編輯:還嘗試 define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) ); define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) ); 按照 WP 網站上的建議將其添加到 wp-config 中。沒有用,並按照建議將其刪除。還嘗試更改define('FS_METHOD', 'ftpsockets');,當然它再次要求我的 FTP 憑據。我可以從我的筆記型電腦訪問 FTP,但是當我從 WP 界面嘗試相同的憑據時,它說它無法連接。嘗試將主機名更改為 localhost:22(因為當我選擇 SFTP 時它沒有自動更改為埠 22),嘗試了正常 FTP(也暫時打開),嘗試了 IP,沒有嘗試 10.0.0.1 或其他任何localhost IP 是。真的把我的頭撞到了眾所周知的牆上。

原來是 SELinux 訪問問題。我不知何故錯過了它,因為 SELinux 故障排除程序通常會在阻止某些內容時彈出通知。我不得不進去手動檢查。

出現問題是因為教程中的這個命令不正確:

chcon -Rt httpd_sys_content_t /var/www/html

它應該是

chcon -Rt httpd_sys_rw_content_t /var/www/html

更改立即解決它!這是與

define('FS_METHOD', 'direct');

仍在 wp-config.php 中。

非常感謝 s1lv3r,他在故障排除過程中為我提供了極大的幫助!

引用自:https://serverfault.com/questions/767105