如何使用 SFTP 管理 WordPress 上的文件

已發表: 2020-09-18

如果您是開發人員,那麼您無疑會非常熟悉使用 SFTP。 然而,對於我們這些偶爾管理 WordPress 網站的人來說,僅僅提到使用 SFTP 對我們的 WordPress 網站進行更改就足以讓您感到恐懼! 不要害怕。 在本文中,我們將研究如何使用 SFTP 來管理您的 WordPress 網站上的文件,並提供一些示例說明這在什麼情況下可能很有用,尤其是在解決諸如錯誤消息甚至意味著您已經被拒絕訪問您的 WordPress 管理員。

WordPress 如此受歡迎的眾多原因之一是它在非技術型個人中的可用性。 換句話說,您不需要知道如何編寫代碼就可以使用 WordPress 構建一個漂亮的網站。 WordPress 提供的 GUI(或圖形用戶界面)意味著即使是 IT 經驗有限的人通常也可以相當快地掌握構建或編輯 WordPress 網站的竅門。

然而,有些工作需要您直接編輯構成 WordPress 網站的基礎文件(其中通常有數千個)。 這可以通過 WordPress 管理員以有限的方式完成,但在大多數情況下,您需要訪問您的網絡主機服務器上保存的文件。 這是使用稱為 SFTP 客戶端的 FileZilla 或 WinSCP 等工具完成的。 這是因為他們使用稱為 SFTP 的協議與您的 Web 服務器進行通信,這樣您就可以安全地傳輸或更新此服務器上的文件。

讓我們更詳細地了解一下 SFTP 是什麼,您可能需要使用它的原因以及如何使用 SFTP 來管理您的 WordPress 網站上的文件。

什麼是 SFTP?

為了了解 SFTP 是什麼,我們需要看一下它的前身……FTP。

FTP(或文件傳輸協議)是建立在客戶端-服務器架構上的標準網絡協議,用於在 Internet 上的 FTP 主機或服務器與 FTP 客戶端(計算機/用戶)之間傳輸文件。

文件傳輸協議

FTP 於 1971 年首次開發,並且在今天的某些情況下仍在使用。 它允許文件在計算機和服務器之間直接傳輸。 重要的是,使用 FTP 傳輸的所有信息通常都是未加密的。 這意味著任何人都可以攔截這種傳輸,這是一個重大的安全風險。

SFTP 提供了 FTP 的邏輯繼任者。 它代表安全文件傳輸協議,並克服了 FTP 的主要弱點之一(即缺乏加密)。 它是 SSH 協議的擴展,使用戶能夠使用普通的 SSH 端口安全地連接到遠程服務器。 這提供了許多優點:

  • 安全:通過 SFTP 連接傳輸的數據是加密的。 這意味著任何被第三方截獲的數據都是不可讀的。
  • 增加數據傳輸:可以提供有關通過 SFTP 傳輸的文件的更多信息。 例如,用戶能夠準確訪問日期、時間、大小、權限等元數據,而某些 FTP 服務器,尤其是較舊的服務器,可能無法正確讀取這些信息(這可能導致數據異常作為本地文件的元數據與服務器上的不匹配)。
  • 防火牆友好:SFTP 是防火牆友好的,因為它通過單個連接交換數據。 它不像 FTP 那樣使用單獨的通道,因此不會像 FTP 連接那樣強制服務器管理員打開一系列端口。
安全文件傳輸協議

如何通過 SFTP 訪問我的 WordPress 網站?

為了通過 SFTP 協議連接到您的 WordPress 網站,您需要:

  • 與您的操作系統兼容的 SFTP 客戶端,允許用戶(客戶端)安全地連接到遠程服務器
  • 您要連接的服務器的 SFTP 憑據。 這些將包括主機名、用戶名、密碼和端口。

連接到 SFTP 服務器的確切方法因網絡託管服務提供商而異。 用戶想要做的事情很常見,任何網絡主機都應該能夠為您提供有關如何通過 SFTP 訪問其服務器的全面說明。

我應該使用什麼 SFTP 客戶端?

有幾個很棒的 SFTP 客戶端可供您選擇。 作為獎勵,其中許多都可以免費使用! 我們最喜歡的 Windows 用戶之一是 WinSCP。 除了支持 SFTP(正如您所期望的那樣!),它還支持許多其他協議,並擁有用戶友好的功能,例如將傳輸恢復捆綁到一個易於使用的界面中。

WinSCP 的一個流行替代品是 Filezilla,它與 Windows、Linux 和 Mac OSX 兼容。 它易於使用,提供多種語言版本,並支持大文件的恢復和傳輸。

為什麼在管理我的 WordPress 網站時需要使用 SFTP?

使用 SFTP 管理 WordPress 網站的原因有很多。 我們將在下面列出一些。

故障排除

當您嘗試解決問題時,通過 SFTP 訪問您的 WordPress 站點可能非常重要。

更改文件權限

文件權限決定了允許用戶訪問的類型。 在安裝 WordPress 後立即設置正確的權限非常重要,否則您可能會遇到致命錯誤或遇到空白白屏,甚至將您的網站暴露給惡意活動。

但是,文件權限可能會“中斷”(有時沒有明顯的原因),當這種情況發生時,您需要能夠使用 SFTP 在您的服務器上重置它們。 發生這種情況的最常見跡像是當您嘗試訪問您網站上的 URL 或被拒絕將文件上傳到您的媒體庫時收到“403 禁止錯誤”。

出現此類問題的原因有很多。 一個常見的罪魁禍首通常是插件更改了它訪問的文件的權限,因此禁用任何最近安裝(或更新)的插件可能是一個很好的起點。

如果您使用 WinSCP 作為您的 SFTP 客戶端,您可以通過右鍵單擊文件或文件夾然後前往“屬性”菜單來更改文件或文件夾的文件權限。

您將看到已勾選(或未勾選)並可以相應更新的文件權限列表。

通過 SFTP 編輯文件權限

修復“暫時無法進行定期維護。 請稍後再回來查看”消息

任何在其 WordPress 網站上更新了主題或插件並嘗試在此更新期間查看該網站的人都會看到“暫時無法進行定期維護。 請稍後再回來查看”消息。

此消息應該是臨時的,並在插件或主題更新完成時自動刪除(除非正在使用維護插件來強制顯示此消息)。 在此類更新期間,會在您網站的根文件夾中創建一個臨時.maintenance文件,並將網站的實時模式更改為“維護模式”。 此文件通常會在更新完成幾秒鐘後被刪除

但是,偶爾會在更新完成後繼續顯示此消息(這當然很煩人!)。 這可能是由於服務器響應緩慢、內存問題或請求超時。 在這些情況下, .maintenance文件不會像正常情況下那樣被自動刪除。

要解決此問題,您可以通過 SFTP 訪問根文件夾並刪除 .maintenance 文件。 希望這意味著您的網站現在可以正常運行。

注意:與往常一樣,在您的 WordPress 網站上進行任何工作之前,您應該盡可能進行備份

您網站上的嚴重錯誤

可以理解,看到您的 WordPress 網站上顯示的“您網站上的嚴重錯誤”消息必然會提高您的血壓,尤其是因為此錯誤有時會阻止您訪問管理區域(甚至是網站的前端)。

在這些情況下,罪魁禍首通常是插件或主題/插件與自定義代碼之間的衝突。

解決此問題的第一步是恢復對 WordPress 管理員的訪問權限。 這就是使用 SFTP 非常有用的地方。 為此,請按照下列步驟操作:

  1. 通過 SFTP 登錄到您的站點服務器並前往根文件夾,您應該會在其中看到一個名為“logs”的文件夾。 如果無法訪問,請與您的託管服務提供商聯繫。 在這些日誌中,您會找到一個文本文檔,該文檔可以提供有關您網站的哪個元素導致嚴重錯誤的線索。
  2. 例如,您可能會在這些日誌中看到如下所示的錯誤消息:

    “出現錯誤 'PHP 消息:PHP 致命錯誤:未捕獲的錯誤:在 /******-www/wp-content/plugins/woocommerce-subscriptions/woocommerce-subscriptions.php:73\nStack 中找不到類 'WC_Subscriptions_Admin'跟踪:\n#0 “

    這為我們指明了 WooCommerce 訂閱插件的方向
  3. 現在我們已經確定了我們需要禁用插件的嚴重錯誤的可能嫌疑人。 您可以通過重命名文件夾來做到這一點。 您可以將其更改為“woocommerce-subscriptions.disabled”之類的內容。
  4. 現在,嘗試登錄您的 WordPress 管理員。 如果可以,那麼您已經解決了問題(部分)。 現在剩下要做的就是對有問題的插件進行故障排除。
  5. 如果您無法從 WordPress 日誌中確定哪個插件可能導致問題(或者您無權訪問這些日誌),您可以嘗試禁用所有插件。 為此,將主“plugins”文件夾重命名為“plugins.disabled”。 如果您現在可以訪問 WP 管理員,您就知道問題出在插件上。 此時,您需要將插件文件夾的名稱改回“插件”,然後通過重命名每個插件一個一個地禁用它們,直到找到罪魁禍首。

如果禁用您的插件並不能解決“嚴重錯誤”問題,那麼值得看看是否是您的主題是罪魁禍首。 執行此操作的方法與使用插件的方法基本完全相同。

  1. 通過 SFTP 登錄到您的服務器並導航到名為“wp-content”的文件夾。 在此文件夾中,您將看到一個名為“主題”的文件夾。 打開它,您將看到當前加載的所有主題。
  2. 正如我們對插件所做的那樣,重命名您的活動主題以禁用它。 這可能意味著將其從“salient”(例如)更改為“salient.disabled”。
  3. WordPress 應該會自動更改為默認主題,然後您可以查看您現在是否可以訪問您的管理面板(並且嚴重警告消失)。 如果是這樣,您現在將知道問題出在您的主題上,或者與您的主題和插件衝突。

配置文件問題

您可能會不時遇到某些問題,這些問題只能通過編輯 WordPress 配置文件(或 wp-config.php)來解決。 當您的 WordPress 站點無法建立數據庫連接時,就會出現此類問題。 發生這種情況時,您會看到如下警告:

如果您遇到這種情況,您可以檢查您的數據庫用戶名和密碼是否正確保存在 wp-config.php 文件中。 使用您的 SFTP 客戶端打開此文件,您應該會看到如下內容:

您需要知道您的數據庫用戶名和密碼是什麼才能檢查/更新此文件。 您的 WordPress 主機應該能夠為您提供幫助。

開發工作

SFTP 客戶端是網站開發人員經常使用的工具,因為它使他們可以直接訪問構成網站的文件(並在這樣做時完全控制對這些文件進行所需的任何更改)。 開發人員承擔的常見任務包括:

  • 編輯 functions.php 文件以創建自定義函數、添加掛鉤/操作、註冊或忽略某些腳本。
  • 為 WordPress 創建自定義模板
  • 用子主題覆蓋 WordPress 主題模板
  • 通過編輯其 CSS 文件自定義網站的樣式
  • 使用自定義插件

SFTP 的其他用途

SFTP 的一個常見用途是通過在線文件傳輸服務傳輸您不想移動的大文件(例如敏感/私人文檔)。 SFTP 也非常適合將不同的文件添加到您的 Web 服務器以通過您的網站使用。 這可能包括用於為您的網站生成非標準字體的 PDF 或字體文件。

概括

學習如何通過 SFTP 訪問您的 WordPress 網站以直接管理您的 WordPress 文件是一項有用的技能,可供您使用。 對於任何認真維護和開發網站的人來說,SFTP 客戶端和對如何使用它的深刻理解是他們工具包的重要組成部分。

如果您從未通過 SFTP 訪問過您的網站,那麼您可以真正大開眼界,看看有多少文件組成了您的 WordPress 網站。 在瀏覽 WordPress 上的論壇時,熟悉您網站的底層結構可能會導致幾個“啊哈”時刻。