如何在 WordPress 中查找、訪問和編輯 wp-config.php

已發表: 2022-07-14

WordPress 中的wp-config.php是什麼?

wp-config.php文件是一個 WordPress 安裝核心文件,其中包含您網站最重要的配置設置的詳細信息。 前綴“wp”代表“WordPress”,“config”是“configuration”的縮寫,文件類型“.php”表示文件中包含的代碼類型——PHP。

沒有wp-config.php ,您的網站根本無法運行。 WordPress 需要此文件,最重要的是,它連接到您的數據庫,其中存儲了 WordPress 設置、帖子內容、主題和插件設置以及用戶數據等信息。 wp-config.php不僅是站點文件和數據庫之間的橋樑,它還允許您包含安全密鑰; 更改表前綴; 重新定位核心 WordPress 文件夾,如wp-pluginswp-uploadswp-content ; 並執行其他高級配置。

wp-config.php文件在哪裡?

現在您知道wp-config.php做了什麼,您可能想知道“ wp-config.php位於何處?” 如果您在現有的 WordPress 站點中查找wp-config.php的位置,您可以在 WordPress 安裝的根文件夾中找到它。 您的根文件夾包含wp-adminwp-contentwp-includes文件夾。 在這些文件夾下,您將看到一個文件列表,其中許多以“wp-”前綴開頭。 您可以在此處找到wp-config.php文件。

核心文件和文件夾列表,選擇 wp-config.php

但是,如果您是第一次下載和設置 WordPress,則不會包含wp-config.php文件。 相反,它將在 WordPress 設置過程中自動創建。 在設置過程中,系統會要求您提供某些信息,例如:

  • 數據庫名稱:與您的 WordPress 安裝關聯的數據庫的名稱
  • 數據庫用戶名:用於訪問您的數據庫的用戶名
  • 數據庫密碼:與數據庫用戶關聯的密碼
  • 數據庫主機:您的數據庫服務器的主機名(通常是“localhost”,但可能因您的託管服務提供商而異)

然後,WordPress 將使用此信息在您的根目錄中創建wp-config.php文件。

數據庫連接詳細信息表單

如果您願意,也可以手動設置wp-config.php 。 如果您想將大量自定義設置添加到站點的配置中,這可能是一個不錯的選擇。

如何訪問wp-config.php

有幾種簡單的方法可以訪問wp-config.php — 通過安全文件傳輸協議 (SFTP) 或通過 cPanel,如果您的託管公司提供的話。

1、通過SFTP訪問wp-config.php

第 1 步:安裝 SFTP 客戶端。 如果您還沒有 SFTP 客戶端,您的第一步將是下載並安裝。 幾個不錯的選擇包括:

應用系統免費或高級
WinSCP 視窗自由的
Filezilla 視窗、Mac、Linux 免費和高級選項
賽博鴨視窗,Mac 自由的
發送蘋果電腦優質的

我們將在此示例中使用 Filezilla,但其他 SFTP 客戶端應該類似地工作。

第 2 步:檢索您的 SFTP 憑據。 安裝 SFTP 客戶端后,您需要來自網絡主機的 SFTP 憑據才能訪問您的服務器。 您可以在主機控制面板中找到這些詳細信息。 根據您的主機,可能會為您生成此信息,或者您可能必須完成創建 SFTP 用戶名和密碼的過程。 如果您不確定在哪裡可以找到這些憑據或如何創建它們,請詢問您的主機支持或搜索他們的幫助文檔以獲取說明。 您需要 SFTP 客戶端的詳細信息是:

  • 主機(您的實時服務器的 IP 地址或 url)
  • SFTP 用戶名
  • 密碼
  • 端口號

第 3 步:在 SFTP 客戶端中輸入您的憑據。 輸入您主機的 IP 地址或 url、您的 SFTP 用戶名、密碼和端口號。

注意:如果您的 SFTP 客戶端使用首次使用時信任 (TOFU) 身份驗證,您可能會收到“主機密鑰未知”警報。 單擊“確定”並繼續。 如果您打算使用 SFTP 客戶端再次訪問該站點,請選中“始終信任此主機,將此密鑰添加到緩存”。

來自 Filezilla 的 TOFU 消息

第 4 步:導航到您網站的根目錄。

通過 SFTP 登錄到服務器後,您會在屏幕右下角的兩個面板中看到一個文件樹,其中列出了 Web 服務器(遠程)上的目錄。 左側列出了您計算機(本地)中的目錄。

您的根目錄通常位於標有“www”或“public_html”的文件夾中,但它可能使用不同的名稱。 某些主機上的根文件夾命名約定不同,因此如果您不確定要查看哪個文件夾,請諮詢您的託管服務提供商。 如果您在文件列表頂部附近看到wp-adminwp-contentwp-includes文件夾,您將知道您位於正確的文件夾中。

通過 FTP 找到 public_html 文件夾

第 5 步:在本地計算機上選擇或創建要添加wp-config.php文件的文件夾。 如果您已經選擇了一個文件夾,請使用左窗格導航到並打開它。 如果沒有,請找到您要在其中創建新文件夾的目錄,右鍵單擊左側窗格,然後選擇Create directory

創建目錄選擇

命名您的目錄,然後單擊OK

雙擊打開您創建的新目錄。

第 6 步:查找並下載wp-config.php wp-config.php文件位於您的根文件夾中,因此只需向下滾動到 SFTP 客戶端右下方窗格中的wp-config.php 。 右鍵單擊wp-config.php ,然後單擊下載,或者簡單地將文件從右窗格拖動到左窗格中的所需文件夾。

下載 wp-config.php 文件

您的wp-config.php文件現在應該下載到您之前選擇的目錄中的本地計算機上。 您應該能夠在計算機的文件瀏覽器中找到它。

2.在cPanel中訪問wp-config.php

如果您的主機使用 cPanel,您可以通過 cPanel 的文件管理器訪問wp-config.php 。 如果您不知道如何在主機的儀表板中找到 cPanel,請聯繫他們的客戶支持尋求幫助。

第 1 步:打開 cPanel 的文件管理器。 進入 cPanel 後,導航到文件部分並單擊文件管理器

第 2 步:打開您網站的根文件夾。 根文件夾通常稱為“www”或“public_html”,但它可能有其他名稱。 某些主機上的根文件夾命名約定不同,因此如果您不確定要查看哪個文件夾,請諮詢您的託管服務提供商。 如果您在文件列表頂部附近看到wp-adminwp-contentwp-includes文件夾,您將知道您位於正確的文件夾中。

第 3 步:查找並下載wp-config.php wp-config.php文件位於您的根文件夾中,因此只需向下滾動到 cPanel 文件管理器右側窗格中的wp-config.php 。 右鍵單擊wp-config.php ,然後單擊Download ,或單擊wp-config.php然後單擊頂部菜單中的Download選項。

從 cpanel 下載 wp-config.php

選擇或創建要放置wp-config.php文件的文件夾(不要重命名),然後單擊Save

選擇一個文件夾來保存 wp-config.php

您的wp-config.php文件現在應該下載到您選擇的目錄中的本地計算機上。 您應該能夠在計算機的文件瀏覽器中找到它。

如何編輯您的wp-config.php文件

編輯wp-config.php有兩個選項。 您可以使用源代碼編輯器,也可以直接在 cPanel 中進行編輯。 在 WordPress 中編輯wp-config.php文件之前,請務必備份您的網站!

1. 備份您的網站

每當您對您的網站進行重大更改時——尤其是對 WordPress 核心文件或插件進行重大更改時——您都會面臨出錯的風險。 對於可怕的白屏死機來說,這可能只是一個難以察覺的顯示問題。 為了防止在更改站點的核心方面時出現停機和數據丟失,請始終先進行備份。 如果您的站點上尚未安裝備份工具,Jetpack Backup 是一種經濟實惠的解決方案,具有一鍵恢復功能。

都備份了? 好的。 我們可以開始編輯wp-config.php文件。

2. 如何使用源代碼編輯器編輯wp-config.php

編輯wp-config.php的最佳方式是在您選擇的代碼編輯軟件中。 由於您正在編輯本地計算機上脫機的wp-config.php副本,因此您不必連接到 Internet 即可處理文件,並且您不太可能覆蓋原始wp-config .php文件,當您將其上傳回您的服務器時(與直接在 cPanel 中編輯不同)。

第 1 步:在源代碼編輯器中打開wp-config.php 如果您不熟悉使用源代碼編輯器,有幾個免費選項可供選擇。

免費源代碼和純文本編輯器:

應用系統
記事本++ 視窗
原子.io 視窗、Mac、Linux
昇華視窗、Mac、Linux
文本編輯
*確保您處於純文本模式
Mac(默認應用程序)
記事本Windows(默認應用程序)

第 2 步:編輯wp-config.php並將其保存到本地計算機。 根據您用於編輯wp-config.php文件的程序,您的顯示可能會有所不同。 這是 atom.io 中一些代碼的樣子:

wp-config.php 文件的內容

添加或更改您需要的任何信息,然後保存您的文件。 跳到“您可以通過wp-config.php配置什麼?” 了解更多關於您可以對wp-config.php文件進行的不同類型的編輯。

第 3 步:通過 SFTP 或 cPanel 登錄到您的 Web 服務器。 導航到站點的根文件夾並找到wp-config.php文件。

第 4 步:在您的 Web 服務器上更改wp-config.php的文件名。 如果您編輯的版本包含錯誤,您不想覆蓋原始文件。 您希望能夠快速恢復原始 wp-config.php 文件,因此將其重命名為'wp-config-orginal.php'不僅可以確保 WordPress 忽略此文件,而且原始文件的內容仍然存在於您的服務器上。

重命名 wp-config.php 文件

如果您不小心覆蓋了wp-config.php文件並且您編輯的版本有問題,您可以隨時從備份中恢復您的站點。 但是,最好保留原始 wp-config.php 文件的副本,以便在出現問題時快速恢復。 如果您在某處沒有備份文件——尤其是如果你有很多自定義設置——這可能會很麻煩,並導致大量站點停機來恢復原始信息。

第 5 步:將wp-config.php從您的本地計算機上傳到您的網絡服務器。 使用 SFTP 或 cPanel,將wp-config.php文件上傳到 Web 服務器的根目錄。

SFTP客戶端:

通過 ftp 移動 wp-config.php 文件

面板:

通過 cpanel 上傳文件

第 6 步:訪問您的網站並測試它是否正常顯示和運行。 您已經成功上傳了wp-config.php文件,所以現在是時候確保您的網站上的所有內容都按照您的預期運行了。 訪問您網站的前端並登錄到 WordPress 儀表板,以確保一切都可以訪問、正確顯示,並且表單、導航、電子商務功能等網站功能都可以正常工作。

第 7 步:刪除舊的、重命名的 wp-config.php文件。 一旦您確定您的站點運行正常,您可以刪除wp-config-original.php (或您將其重命名為的任何內容)。

3. 如何在你的 cPanel 中直接編輯wp-config.php

如果您沒有或不想使用源代碼編輯器,您可以直接在 cPanel 中編輯wp-config.php (如果您的主機使用 cPanel)。 這比在本地機器上編輯風險更大。 如果您在編輯時 Internet 連接中斷,您可能會丟失所做的更改。 您還可能會在未先保存備份的情況下覆蓋原始wp-config.php文件。 但是只要你複製你原來的 wp-config.php文件並且有一個可靠的網絡連接,你直接在 cPanel 中編輯應該是相對安全的。

第 1 步:在 cPanel 中找到wp-config.php 。 在 cPanel 中,單擊“文件管理器”。

導航到您的根文件夾(通常是“public_html”“www” ,但根據您的主機,它可能被稱為其他名稱)。

第 2 步:為您的wp-config.php備份文件創建一個新文件夾。 在文件管理器主菜單中,單擊+ 文件夾以添加新文件夾。 我們將復制您的wp-config.php文件並將其保存在此處作為備份。

在cpanel中添加一個文件夾

將您的新文件夾命名為易於識別的名稱,例如“備份配置” ,以便您以後輕鬆找到它。 單擊創建新文件夾

第三步:在根文件夾中找到wp-config.php並將其複製到備份文件夾中。 在您的根目錄中,向下滾動到wp-config.php並右鍵單擊文件名。 選擇複製

將出現一個對話框,要求您輸入要將文件複製到的文件路徑。 它通常會預先填充根文件夾名稱,因此您只需在“/public_html/ ”(或您的根文件夾名稱)之後添加剛剛創建的備份文件夾的名稱。 因此,如果您的備份文件夾名為“backup config”,那麼您的文件路徑將類似於“/public_html/backup config.xml”。 '

單擊複製文件

一旦你複製了文件,導航到你的“備份配置”文件夾,你會看到那裡列出了wp-config.php 。 你應該繼續重命名它,這樣你就不會得到這個wp-config.php文件和你想要編輯的文件。 右鍵單擊wp-config.php文件並單擊Rename

您可以將其重命名為您想要的任何名稱,但在這種情況下,我們會將其重命名為wp-config-original.php

重命名 wp-config.php 文件

第 4 步:導航回根目錄中的wp-config.php 。 現在我們已經備份了wp-config.php文件,我們將回到根目錄中的wp-config.php文件進行編輯。

選擇wp-config.php ,然後單擊文件管理器頂部菜單中的編輯

通過 cpanel 工具編輯

第 5 步:編輯wp-config.php 您現在應該在屏幕上看到wp-config.php文件的內容。 它應該看起來像這樣:

cpanel 中的 wp-config.php 文件

添加或更改您需要的任何信息,然後保存您的文件。 跳到“您可以通過wp-config.php配置什麼?” 了解更多關於您可以對wp-config.php文件進行的不同類型的編輯。

手動創建wp-config.php文件

如果您尚未創建wp-config.php文件,則無法編輯該文件! 如果由於某種原因,您無法在 WordPress 設置過程中創建wp-config.php文件,或者您只想手動創建它,您將需要使用包含的wp-config-sample.php模板你下載 WordPress。

找到 wp-config-sample.php 文件

在源代碼編輯器中打開wp-config-sample.php 。 根據您用於編輯wp-config-sample.php文件的程序,您的顯示可能會有所不同。 這是 atom.io 中一些代碼的樣子:

wp-config.php 文件的內容

輸入以下數據庫詳細信息和您可能需要的任何自定義設置:

WordPress 數據庫的名稱

define( 'DB_NAME', 'database_name_here' );

數據庫用戶名

define( 'DB_USER', 'username_here' );

數據庫密碼

define( 'DB_PASSWORD', 'password_here' );

數據庫主機名

define( 'DB_HOST', 'localhost' );

用於創建數據庫表的數據庫字符集(通常為 utf8)

 define( 'DB_CHARSET', 'utf8' );

數據庫整理類型(如有疑問請勿更改)

 define( 'DB_COLLATE', '' );

身份驗證唯一密鑰和鹽

將這些更改為不同的獨特短語。 您可以使用 WordPress.org 密鑰服務生成這些信息。 這些可以隨時更改以使所有現有 cookie 無效。 請記住,這將迫使所有用戶必須再次登錄。

 define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' );

定義自定義 WordPress 數據庫表前綴

WordPress 的默認數據庫表前綴是“wp_”,但您可以根據需要定義自定義前綴。 此外,如果您在一個數據庫中安裝了多個 WordPress,則可以為每個安裝一個唯一的前綴。 僅使用數字、字母和下劃線。

 $table_prefix = 'wp_';

定義 WordPress 調試模式

默認情況下, wp-config.php中的 WordPress 調試模式應設置為“false”,除非您處於開發模式並積極嘗試調試站點上的問題。

 define( 'WP_DEBUG', false );

將此語句更改為“true”以在開發期間啟用錯誤和警告通知的顯示。

添加自定義值

在定義調試模式的行之後有兩行註釋掉的代碼,您可以在其中添加任何您想添加到wp-config.php文件的自定義值。

 /* Add any custom values between this line and the "stop editing" line. */ YOUR CUSTOM VALUES GO HERE /* That's all, stop editing! Happy publishing. */

有關可以使用的自定義值的信息,請向下滾動到“您可以通過wp-config.php 配置什麼? ”部分。 '

定義 WordPress 目錄的絕對路徑

在您的自定義值下方,'/* 就是這樣,停止編輯! 快樂發布。*/,'您會看到其他幾個代碼片段。 第一個定義了 WordPress 目錄的絕對路徑。 除非您在子目錄中設置了 WordPress,否則您可以保持原樣 - 在這種情況下,您可以將 '/' 替換為 ' /your-subdirectory/ '。

 if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); }

設置 WordPress 變量和包含的文件

wp-config-sample.php文件中的最後一部分聲明了wp-settings.php的絕對路徑,它設置了 WordPress 變量和包含的文件。

 require_once ABSPATH . 'wp-settings.php';

完成示例配置文件的編輯後,將其保存為“wp-config.php”並使用 SFTP 或 cPanel 將其放置在站點的根目錄中。

注意: wp-config-sample.php文件的內容有一個特定的順序,順序很重要。 重新排列配置文件中的信息順序可能會在您的站點上產生錯誤。

您可以在wp-config.php中配置什麼?

除了wp-config-sample.php文件中包含的基本設置之外,您還可以使用wp-config.php配置很多東西。 您可以啟用多站點功能、設置 cookie 域、增加允許的內存、管理各種與安全相關的設置、確定 WordPress 執行某些核心操作的頻率以及更改其他文件優化設置。 您甚至可以更改您的數據庫和文件權限。

你不能在 wp-config.php 中配置什麼?

雖然您可以在wp-config.php中管理的設置列表很長,但有些事情您不能做。

wp-config.php文件或多或少是確定 WordPress 核心中某些設置的常量列表。 您不能使用它對插件或主題進行任何功能修改——為此,您將使用functions.php文件。

即使在wp-config.php中,您也無法更改 WordPress 的某些硬編碼方面,例如主題文件夾的位置。

如何保護wp-config.php免受安全漏洞攻擊

您的wp-config.php文件包含許多有關您網站的敏感信息——您希望防止黑客掌握的信息。 以下是一些有助於保護您的wp-config.php文件的提示:

1.安裝安全插件

安全插件會自動將設置添加到您的網站,以幫助保護所有方面(包括wp-config.php )免受黑客攻擊。

Jetpack 的 WordPress 安全工具是一種廉價的選擇,可以幫助保護您的網站免受惡意攻擊。 Jetpack 安全包括:

  • 蠻力攻擊保護可阻止攻擊
  • 停機時間監控可在出現問題時提醒您
  • 活動日誌,讓您知道是否以及何時發生可疑活動
  • 安全身份驗證以防止未經授權的訪問
  • 惡意軟件掃描會在您的網站被黑客入侵時提醒您
  • 為您的頁面、帖子和聯繫表格提供垃圾郵件保護

Jetpack Security 還會監控您的站點是否有對核心 WordPress 文件、過時或不安全的插件以及其他漏洞的任何更改,以便您可以在黑客發現並利用它們之前捕獲它們。

2. 拒絕訪問wp-config.php通過 . .htaccess文件

您可以使用 . htaccess文件以幫助保護wp-config.php 。 您將在根文件夾中找到此文件。

第 1 步:下載 . htaccess

使用 SFTP 或 cPanel,導航到您網站的根文件夾。 右鍵單擊.htaccess 並選擇下載將文件下載到本地計算機。

第 2 步:添加代碼以阻止對wp-config.php 的訪問

在源代碼或純文本編輯器中,打開.htaccess並添加以下代碼:

 <files wp-config.php> order allow,deny deny from all </files>

保存您的文件。 確保您的程序不包含文件擴展名。 如果您使用的是記事本或文本編輯,它可能會添加您不想要的 .txt 文件擴展名。 該文件應該簡單地命名為'. htaccess

第 3 步:將編輯後的 .htaccess 上傳回根文件夾

上傳您編輯的 . htaccess文件回到您網站的根文件夾。 系統將詢問您是否要覆蓋現有文件。 單擊確定

現在你的 . htaccess文件應該阻止外部訪問您的wp-config.php文件。

3.隱藏根目錄外的wp-config.php

由於每個黑客都知道 WordPress 站點上wp-config.php的默認位置,因此將位置更改為根目錄之外的受限訪問文件夾可以防止黑客控制它。

這個過程涉及一些額外的配置——您不能只是將wp-config.php拖放到根文件夾之外。 但是,為您的網站添加額外的保護層是值得的。

只需幾個步驟,您就可以保護根文件夾之外的wp-config.php文件。

第 1 步:下載您當前的 wp-config.php文件

您的根文件夾是所有 WordPress 文件所在的位置,包括wp-config.php文件。 它可能被命名為'public_html''www' 。 如果您不確定您的根文件夾或 WordPress 目錄在哪裡,請聯繫您的託管公司。

找到根文件夾和 WordPress 目錄後,通過 SFTP 或 cPanel 將wp-config.php文件下載到本地計算機。

通過 ftp 將 wp-config.php 文件保存到您的計算機

第 2 步:在根文件夾之外創建一個新目錄

導航到根目錄之外的下一個文件夾級別。 您應該會看到根文件夾以及其他幾個文件夾的名稱。 在此目錄中,右鍵單擊並選擇創建目錄。

通過 ftp 創建目錄

為您的目錄命名一個您容易記住的名稱,作為wp-config.php文件的存儲庫。 如果您願意,您甚至可以創建多個嵌套文件夾——您只需要記住第 4 步中所有文件夾的名稱即可。

第 3 步:將wp-config.php上傳到您的新文件夾

通過 SFTP 或 cPanel 將您之前下載的wp-config.php文件上傳到您的新文件夾中。

將 wp-config.php 移動到新目錄

檢查您的新文件夾和wp-config.php文件權限,並確保它們設置為 600。

檢查 wp-config.php 的文件權限
將文件權限更改為 600

第 4 步:將 WordPress 指向新的wp-config.php文件

您應該在新的“secret”目錄中有一個wp-config.php文件,以及仍在您的根目錄中的原始wp-config.php文件。 為了讓 WordPress 找到並使用正確的文件,您需要刪除根目錄的wp-config.php文件中的所有信息,並將其替換為以下代碼片段:

 <?php include('/home3/usr/secureconfig/wp-config.php'); ?>

注意:您的文件路徑看起來會有所不同,因為您將使用各個服務器的目錄名稱。

在 cPanel 中,您可以打開根目錄的wp-config.php文件並直接編輯它,或者您可以使用源代碼編輯器編輯您之前下載到本地計算機的副本。 對於這個例子,我們已經編輯了我們之前使用 Atom.io 下載的副本。

保存您的wp-config.php文件並將其上傳回您的根目錄。

移動 wp-config.php 文件

系統將詢問您是否要覆蓋該文件。 單擊確定以覆蓋文件。

現在 WordPress 應該在根文件夾之外的安全位置引用您的新wp-config.php文件。

4. 更改wp-config.php文件的名稱

更改wp-config.php文件的名稱也有助於防止黑客對其進行攻擊。 如果這樣做,您還需要在根文件夾之外託管此文件。 如果您已經按照在根目錄外隱藏wp-config.php中的步驟進行操作,則可以通過執行以下附加步驟來更改wp-config.php文件的名稱:

第 1 步:在根文件夾外的安全目錄中,更改wp-config.php的文件名

導航到託管在根目錄之外的wp-config.php文件夾,並將名稱更改為獨特的名稱,例如“secret-setup-file.php”“cheese-sandwich.php” ——這並不重要。

第 2 步:編輯根目錄中wp-config.php中的代碼以反映名稱更改

現在您已經更改了名稱,您需要確保wp-config.php的根目錄副本指向正確的文件名。

wp-config.php的根文件夾副本下載到您的本地計算機並使用您選擇的源代碼編輯器對其進行編輯。 將wp-config.php文件名更改為新文件名,然後保存。

 <?php include('/home3/usr/secureconfig/cheese-sandwich.php'); ?>

第三步:將wp-config.php上傳回根目錄

系統將詢問您是否要覆蓋現有文件。 單擊確定。

現在 WordPress 應該指向您重命名的配置文件。

wp-config.php編輯以獲得更好的 WordPress 性能

您可以使用wp-config.php文件來優化您的 WordPress 設置並提高您網站的性能。 以下是您可以對wp-config.php進行的七項編輯,以減少數據庫大小和負載、縮短站點的加載時間並節省服務器空間。

1.清理圖像編輯

每次您在 WordPress 中編輯圖像時,都會創建一組新的縮略圖和其他圖像大小。 當您恢復原始圖像時,這些編輯不會被刪除。 這可能會導致媒體文件夾混亂。 如果您想確保您的服務器上只存在一組圖像編輯,並且當您恢復原始圖像時,這些編輯被刪除,您可以使用以下代碼:

 define( 'IMAGE_EDIT_OVERWRITE', true );

2.修復你的數據庫

如果您的站點運行緩慢,遇到錯誤,並且您懷疑數據庫已損壞並需要修復,則可以使用 WP_ALLOW_REPAIR 並將值設置為“true”來啟用自動數據庫修復。

 define( 'WP_ALLOW_REPAIR', true );

確保在解決數據庫問題後禁用此功能。 此腳本也可以在 repair.php 文件中找到: {$your_site}/wp-admin/maint/repair.php

3.管理修訂後設置

在您編輯帖子時,WordPress 默認每 60 秒自動保存一次您的修訂。 如果您希望保存之間的延遲更長,或者您想要更頻繁的保存間隔,您可以修改自動保存間隔。

 define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds

WordPress 對保存的修訂後的數量沒有限制,因此如果您想減少修訂後對數據庫的負載,您可以指定最大數量或完全禁用修訂的保存。

指定最大後期修訂數

define( 'WP_POST_REVISIONS', 3 );

禁用帖子修訂

define( 'WP_POST_REVISIONS', false );

4.管理垃圾設置

默認情況下,WordPress 會在垃圾箱中的項目存在 30 天后永久刪除它們。 如果要更改該頻率,可以使用以下代碼並將數字設置為所需的頻率。

 define( 'EMPTY_TRASH_DAYS', 30 ); // 30 days

您還可以通過將天數設置為零來禁止清空垃圾箱。

 define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days

注意:如果您禁用正在清空的垃圾箱,當有人點擊Delete Permanently時,WordPress 不會要求確認。 請謹慎使用此設置!

5.調整cron設置

WordPress 使用 WP-Cron 來安排時間敏感的任務,例如檢查更新和發布預定的帖子。

如果計劃的帖子未發布或其他 cron 作業未能在您的站點上完成,您可能想嘗試使用替代 cron。 當 ALTERNATE_WP_CRON 設置為“true”時,訪問者的瀏覽器將被重定向到新連接,而 cron 將繼續在斷開的連接中運行。

 define( 'ALTERNATE_WP_CRON', true );

注意:由於此方法依賴於非本地 WordPress 服務,因此存在一些風險。

您還可以更改 cron 進程可以運行或完全禁用 cron 的時間間隔。

禁用 cron

 define( 'DISABLE_WP_CRON', true );

Cron 超時

define( 'WP_CRON_LOCK_TIMEOUT', 60 );

6.增加分配給PHP的內存

如果您有使用大量 PHP 資源的插件或主題,您可能會遇到消息“允許的內存大小為 xxxxxx 字節已用盡”。 一些主題和插件甚至可以指定 PHP 內存限制最小值,以便能夠使用他們的軟件或他們軟件的特定功能(如導入演示數據)。

默認情況下,WordPress 會嘗試將 PHP 內存限制增加到單個站點的 40MB 和多站點安裝的 60MB,但您可能需要將限制設置得更高。 有時,您的 PHP 內存限制是由您的主機設置的,而有些主機允許您編輯您的 PHP 內存限制,而其他主機則不允許。

如果您的主機允許您增加 PHP 內存限制,您可以將以下代碼添加到您的wp-config.php文件中,並將 '96M' 替換為您需要的內存量(記住在數字後面使用 M 而不是 MB) :

 define( 'WP_MEMORY_LIMIT', '96M' );

此設置僅為 WordPress 增加 PHP 內存,而不是其他應用程序。

WordPress 管理區域中的任務比網站前端的活動需要更多的內存。 您可以通過定義 WP_MAX_MEMORY_LIMIT 來增加管理區域內存。

 define( 'WP_MAX_MEMORY_LIMIT', '256M' );

注意:將此代碼放在wp-config.php文件中的wp-settings.php包含之前。

7.啟用/禁用緩存

一些緩存插件使用advanced-cache.php文件並在您的wp-config.php文件中為您激活 WP_CACHE。 有時您可能需要通過添加以下內容手動添加它:

 define( 'WP_CACHE', true );

或者您可能想要禁用緩存。 在這種情況下,將上述語句中的“真”替換為“假”。

 define( 'WP_CACHE', false );

wp-config.php編輯以獲得更好的 WordPress 安全性

您可以使用wp-config.php來管理 WordPress 網站的安全性,方法是阻止外部 URL 請求、要求管理員使用 SSL、移動 WordPress 核心文件和文件夾位置、使用更嚴格的權限設置覆蓋默認文件權限等等。 如果您有興趣使用wp-config.php來更好地保護您的網站,請查看以下七個提示:

1.定義一個自定義的table_prefix

WordPress 數據庫表的默認前綴是“wp_”,但您可以在以下代碼中使用您喜歡的任何前綴:

 $table_prefix = 'customprefix_';

將“customprefix_”替換為您選擇的文本,但只能使用數字、字母和下劃線——沒有特殊字符。

注意:如果您在 WordPress 的現有安裝中更改表前綴,您還需要更新數據庫中的表前綴,運行搜索和替換對先前表前綴的任何引用,並將它們替換為新的一個。

2. 管理員和登錄需要 SSL

如果您想保證管理員登錄信息的安全,您可以使用“FORCE_SSL_ADMIN”,以便始終通過 SSL 發送密碼和 cookie。 使用wp-config.php中的以下代碼將“FORCE_SSL_ADMIN”設置為“true”:

 define( 'FORCE_SSL_ADMIN', true );

注意:您還需要在服務器上配置 SSL,然後您的站點才能在 FORCE_SSL_ADMIN 設置為 true 的情況下正常工作。

3. 阻止外部 URL 請求

為了增加安全性,您可以通過將“WP_HTTP_BLOCK_EXTERNAL”定義為“true”來阻止來自服務器的外部 URL 請求。 啟用此常量後,只有您的網站和 localhost 才能發出請求。

 define( 'WP_HTTP_BLOCK_EXTERNAL', true );

If you want to make an exception for specific hosts, you can define WP_ACCESSIBLE_HOSTS with a list of comma separated host names. If you want to allow all subdomains of a host, prefix the domain name with '*.' (eg '*.wordpress.org'). and this will only allow localhost and your blog to make requests.

For example, if you want to make an exception for Google Fonts and all subdomains of WordPress.org, you would add the following to wp-config.php :

 define( 'WP_ACCESSIBLE_HOSTS', 'fonts.googleapis.com,*.wordpress.org' );

4. Disable the plugin and theme file editor

By default, WordPress site admins have access to the plugin and theme file editor feature in the WordPress dashboard. 這可能是一個安全風險。 An admin that doesn't have a good understanding of how to (and how NOT to) edit these files could attempt to make edits that break your site. A disgruntled admin may intentionally sabotage these files, or a hacker may get access to the admin interface and attempt to edit core files through the plugin and theme file editor.

To disable the plugin and theme file editor define 'DISALLOW_FILE_EDIT' as 'true.'

 define( 'DISALLOW_FILE_EDIT', true );

Note : Some plugins may check user capabilities with “current_user_can('edit_plugins')”. If you have plugins installed that use this function, they may not work correctly when 'DISALLOW_FILE_EDIT' is set to 'true'. If you define 'DISALLOW_FILE_EDIT' as 'true' and you experience issues with a plugin afterward, then this function in the plugin code may be the culprit.

5. Disable plugin and theme updates and installations

If you want to block users from being able to update or install plugins and themes from the WordPress admin area, you can set 'DISALLOW_FILE_MODS' to 'true.' This will also disable the plugin and theme file editor.

 define( 'DISALLOW_FILE_MODS', true );

6. Move core WordPress folders

Keeping core WordPress folders in custom locations can help secure your site against hackers. Especially if hackers are using automated scripts to find the default names of certain files and folders, changing their location can protect your site against these types of attacks.

Move the wp-content folder

Your wp-content directory contains your themes, plugins, and uploads. You can move this outside of the WordPress directory by setting WP_CONTENT_DIR to the full local path of the directory or to the full URL.

File path

 define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );

URL

 define( 'WP_CONTENT_URL', 'http://example/blog/wp-content' );

Note: Do not include the trailing '/' in the file path.

Move the plugins folder

You can protect your plugins by moving the folder location and using the following options to define the path to your new folder:

Set 'WP_PLUGIN_DIR' to the full local directory path.

 define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );

Set 'WP_PLUGIN_URL' to the full directory URL.

 define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/secureplugins/plugins' );

If you encounter compatibility issues with plugins, you can set 'PLUGINDIR' to the full local directory path .

 define( 'PLUGINDIR', dirname(__FILE__) . '/blog/wp-content/secureplugins/plugins' );

Note: Do not include the trailing '/' in the file paths.

Move the uploads folder

Moving your uploads folder is a great way to help protect against scripts that may attempt to upload content directly to the default WordPress uploads folder file path. Use the 'UPLOADS' constant to define your path to the uploads folder.

 define( 'UPLOADS', 'blog/wp-content/secureuploads/uploads' );

Note: use a relative path to your uploads folder without the leading '/.'

7.覆蓋默認文件權限

在某些情況下,您可能需要調整文件權限以覆蓋 WordPress 或您的主機設置的默認文件權限。 雖然您可以通過 SFTP 或 cPanel 單獨更改文件權限,但您也可以使用wp-config.php集體覆蓋它們。 您可能希望對某些文件和文件夾使用限制性更強的權限,而對其他文件和文件夾使用限制性更少的權限,具體取決於您的目標。

要覆蓋文件權限,您將使用“FS_CHMOD_FILE”常量。 要覆蓋目錄權限,您將使用“FS_CHMOD_DIR”。

文件

define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );

目錄

define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );

提供 setgid(組權限)的示例:

 define( 'FS_CHMOD_DIR', ( 02755 & ~umask() ) );

注意:0755”和“ 02755 ”是八進制值,必須以“0”為前綴。

面向開發人員的高級wp-config.php功能

除了安全和站點優化之外,開發人員還可以使用wp-config.php向 WordPress 環境添加其他自定義設置。 以下只是一些要考慮在wp-config.php中使用的功能:

1.定義WordPress URL

WP_SITEURL 常量允許您定義 WordPress 核心文件所在的地址。 您應該包括 http:// 或 https://、根域和包含 WordPress 核心文件的子文件夾。 但是,不要在 URL 的末尾包含尾隨的“/”。

 define( 'WP_SITEURL', 'http://yoursite.com/wordpress' );

當您在wp-config.php中設置 WP_SITEURL 地址時,數據庫中“siteurl”的值將被覆蓋。 由於 WP_SITEURL 僅優先於數據庫中的 'siteurl' 值,而不是實際覆蓋它,因此如果您刪除wp-config.php文件中的 WP_SITEURL 代碼,將使用 'siteurl' 的原始數據庫值。

您還可以根據服務器主機或服務器名稱動態設置站點 url。

服務器主機:

 define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );

服務器名稱:

 define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/path/to/wordpress' );

注意:使用 SERVER_NAME 可能比使用 HTTP_HOST 更安全。 使用 HTTP_HOST 可能會導致文件包含漏洞。 此外,如果您的服務器使用 Apache 並配置為UseCanonicalName “on” ,則 SERVER_NAME 不會動態設置,而是由服務器配置設置。 在這種情況下,您可能希望使用 SERVER_NAME 而不是 HTTP_HOST。

2. 定義主頁 URL

您的主頁 URL 是您用來訪問網站首頁的 URL。 通常,即使您將 WordPress 安裝在子目錄中,您的主 URL 也將是您的根域(例如 https://mysite.com)。

如果您希望將您的子目錄包含在您的主 URL 中,您可以使用 WP_HOME 覆蓋wp_options表的主值。 它不會在數據庫中更改它,因此如果您從wp-config.php中刪除此行,您的站點主頁 URL 將恢復為wp_options表中的值。

 define( 'WP_HOME', 'https://mysite.com/wordpress' );

您還需要將以下代碼添加到站點根目錄中的index.php中:

 define( 'WP_HOME', 'https://mysite.com' );

與“SERVER_NAME”和“SERVER_HOST”一樣,您也可以動態設置“WP_HOME”。 在 http:// 或 https:// 和您的 WordPress 文件路徑(沒有根域)之間使用 $_SERVER['HTTP_HOST'] ,如下所示:

 define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );

3.設置cookie域

如果您有一個非標準域設置,您可能希望使用“COOKIE_DOMAIN”常量指定您的 cookie 域。 用例包括:

從子域提供靜態內容。 如果您從子域提供靜態內容,但希望將 cookie 域設置為動態內容所在的 URL,請使用以下命令:

 define( 'COOKIE_DOMAIN', 'www.mysite.com' );

注意:您不需要在域名前包含 http:// 或 https://。

運行多站點網絡。 如果您在域的子文件夾中運行多站點網絡並且遇到 cookie 問題(例如,收到錯誤“cookie 被阻止或您的瀏覽器不支持。您必須啟用 cookie 才能使用 WordPress。”),您可以確保通過將 COOKIE_DOMAIN 設置為空值,cookie 屬於它們被請求的域,而不是來自單個域。

 define( 'COOKIE_DOMAIN', '' );

4. 啟用多站點功能

WordPress 沒有自動啟用多站點功能。 大多數 WordPress 安裝不需要該功能。 但是,如果您確實需要它,您可以使用“WP_ALLOW_MULTISITE”常量輕鬆啟用它。

 define( 'WP_ALLOW_MULTISITE', true );

5.重定向不存在的子域或文件夾

雖然您可以在未找到內容時讓訪問者登陸您的默認 404 頁面,但將他們引導至自定義頁面可能會更好的用戶體驗。 您可以通過wp-config.php使用“NOBLOGREDIRECT”常量輕鬆完成此操作。

 define( 'NOBLOGREDIRECT', 'https://mysite.com/custompage' );

6.不要升級全局表

如果您有一個具有大型全局表的站點或在多個 WordPress 安裝之間共享用戶表(論壇和電子商務站點可能屬於這些類別),您可以通過設置 'DO_NOT_UPGRADE_GLOBAL_TABLES 在升級過程中防止 WordPress 對全局表執行資源密集型查詢'到'真實'。

 define( 'DO_NOT_UPGRADE_GLOBAL_TABLES', true );

7.管理自動更新設置

您可能希望禁用主題、插件和 WordPress 核心的自動更新——尤其是當您正在測試開發站點或解決問題時。 您可能還想選擇是否僅針對次要更新、所有新版本發布或根本不自動更新 WordPress 核心。

禁用自動更新

要完全禁用所有自動更新,請將“AUTOMATIC_UPDATER_DISABLED”設置為“true”。

 define( 'AUTOMATIC_UPDATER_DISABLED', true );

禁用 WordPress 核心更新

您可以設置 'WP_AUTO_UPDATE_CORE' 常量以允許自動更新所有版本發布、僅次要更新或禁用所有自動核心更新。

禁用所有核心更新

define( 'WP_AUTO_UPDATE_CORE', false );

啟用所有核心更新

 define( 'WP_AUTO_UPDATE_CORE', true );

為次要版本啟用核心更新

define( 'WP_AUTO_UPDATE_CORE', 'minor' );

8.定義WordPress升級常量

如果您在升級 WordPress 時遇到問題,您可能需要定義一些額外的 WordPress 升級常量來找到問題的根源。 嘗試使用盡可能少的這些常量來解決您的問題。

您可能需要在wp-config.php中定義這些常量的兩個最常見原因是:

  • 您的主機在您的安裝中使用符號鏈接。 如果是這種情況,您可能需要定義與路徑相關的常量,例如 FTP_BASE、FTP_CONTENT_DIR 和 FTP_PLUGIN_DIR。
  • 您的 PHP 安裝使用了與某些 FTP 服務器不兼容的 FTP 擴展。 這是一種罕見的情況,但如果您發現自己正在處理這種情況,您可能需要將 FS_METHOD 定義為“ftpsockets”。

以下是 WordPress 更新的有效常量和示例代碼列表:

FS_METHOD 這會強制使用文件系統方法。 按照優先順序,它應該設置為: directssh2ftpextftpsockets 。 僅當您遇到更新問題時才更改此設置。 如果更改它不能解決問題,則應將其更改回其原始值或將其刪除。 如果其他方法失敗,'ftpsockets' 通常會起作用。 定義(“FS_METHOD”,“ftpext”);
FTP_BASE WordPress 安裝文件夾 (ABSPATH) 的完整路徑。 定義('FTP_BASE','/path/to/wordpress/');
FTP_CONTENT_DIR wp-content文件夾的完整路徑。 定義('FTP_CONTENT_DIR','/path/to/wordpress/wp-content/');
FTP_PLUGIN_DIR 插件文件夾的完整路徑。 定義('FTP_PLUGIN_DIR','/path/to/wordpress/wp-content/plugins/');
FTP_PUBKEY SSH 公鑰的完整路徑。 定義('FTP_PUBKEY','/home/username/.ssh/id_rsa.pub');
FTP_PRIKEY SSH 私鑰的完整路徑。 定義('FTP_PRIKEY','/home/username/.ssh/id_rsa');
FTP_USER 定義 FTP 用戶名或 SSH 用戶名。 雖然這些通常相同,但它們可能不同。 如果您通過 FTP 更新,請使用 FTP 用戶名;如果您通過 SSH 更新,請使用 SSH 用戶名。 定義('FTP_USER','用戶名');
FTP_PASS 使用FTP_USER定義的用戶名的密碼。 如果您使用 SSH 公鑰身份驗證,則不需要包含此內容。 定義(“FTP_PASS”,“密碼”);
FTP_HOST SSH/FTP 服務器的主機名。 某些配置應使用 'localhost' 作為 'FTP_HOST' 值,以避免在更新插件或 WordPress 核心時出現 503 錯誤。 定義('FTP_HOST','ftp.mysite.com');
FTP_SSL 此設置適用於配置“安全 FTP”,而非 SSH SFTP。 僅當底層傳輸支持時,才將 SSL 連接設置為“true”。 這可能不適用於所有服務器。 SFTP:定義('FTP_SSL',真); FTP:定義('FTP_SSL',假);

9. 創建自定義用戶和用戶元表

常量“CUSTOM_USER_TABLE”和“CUSTOM_USER_META_TABLE”用於分配自定義表以存儲用戶數據。 這些設置最好在最初設置 WordPress 時實施。

 define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' ); define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );

注意:如果您正在運行 WordPress 的多站點安裝,即使您手動定義了“CUSTOM_USER_META_TABLE”,也會為每個 WordPress 實例的數據庫創建一個用戶元表和相應的權限。 僅為第一個用戶添加權限,因此您需要使用自定義函數或插件管理每個站點的用戶權限,否則您將遇到登錄問題。

在多站點設置期間確保使用自定義用戶和用戶元表進行管理員訪問:

  1. 創建第一個站點並添加自定義用戶和用戶元表後,將wp-config.php文件複製到下一個實例並更改 $table_prefix 變量。 如果第一個站點使用“my_usermeta”,您的第二個站點應該使用不同的東西(例如“site2_usermeta”)。
  2. 為下一個實例使用與原始安裝不同的電子郵件地址。
  3. 完成設置後,使用自動生成的管理員帳戶和密碼登錄。
  4. 將您想用作管理員的帳戶提升為管理員級別,然後退出您的 WordPress 管理員。
  5. 使用您的新管理員帳戶重新登錄並刪除自動生成的帳戶。

10. 保存查詢以供分析

如果您執行和分析數據庫查詢並需要保存它們以供以後檢查,您可以使用wp-config.php中的“SAVEQUERIES”常量。 查詢被保存到一個數組中,該數組可以使用您的footer.php文件中的代碼顯示。 該函數將保存您的查詢、調用它們的函數以及查詢執行的時間長度。

此操作可能會降低您的站點速度,因此您應該關閉此功能,除非您正在積極調試。

將以下內容添加到wp-config.php

 define( 'SAVEQUERIES', true );

footer.php (在您的主題文件夾中)中,添加以下代碼:

 <?php
if ( current_user_can( 'administrator' ) ) {
global $wpdb;
echo "<pre>";
print_r( $wpdb->queries );
echo "</pre>";
}
?>

11.配置調試和錯誤記錄

還記得死亡白屏嗎? 好吧,在 WordPress 5.2 發布之後,您現在會看到一條錯誤消息,而不是可怕的空白屏幕,“該站點遇到技術問題。 請檢查您的站點管理員電子郵件收件箱以獲取說明。” 當發生致命錯誤時。

當然,如果出現致命錯誤,您需要啟用調試和錯誤日誌記錄,以便對問題進行故障排除。 為此,您需要使用“WP_DEBUG”常量並將其設置為“true”(默認值為“false”)。

 define( 'WP_DEBUG', true );

將“WP_DEBUG”設置為“true”將允許打印數據庫錯誤,並提高錯誤報告級別,以便在使用不推薦使用的文件或函數時看到警告。

但是,在打印這些錯誤之前,您需要通過將“WP_DISABLE_FATAL_ERROR_HANDLER”設置為“true”並啟用“WP_DEBUG_DISPLAY”來禁用恢復模式。

 define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );   // 5.2 and later define( 'WP_DEBUG_DISPLAY', true );

您可以選擇不記錄錯誤,而只是將它們打印在屏幕上,但您應該在開發或暫存站點上啟用這些設置,以免在您的實時站點上打印對公眾可見的錯誤。 如果您在php.ini文件中的設置已經設置為記錄錯誤而不是顯示它們,您可以在wp-config.php中使用以下內容覆蓋它:

 @ini_set( 'log_errors', 'Off' ); @ini_set( 'display_errors', 'On' ); define( 'WP_DEBUG_LOG', false );

如果php.ini未設置為記錄錯誤並且您想要啟用錯誤記錄,則需要做更多的工作。

默認錯誤日誌和顯示設置可以在您的php.ini文件中找到。 在某些情況下,您可能無權訪問此文件,或者您的託管公司可能使用user.ini或其他一些命名約定。 如果您無權訪問此文件,請讓您的託管公司為您進行這些更改。

推薦的 php.ini錯誤設置:

 error_reporting = 4339 display_errors = Off display_startup_errors = Off log_errors = On error_log = /home/mysite.com/logs/php_error.log log_errors_max_len = 1024 ignore_repeated_errors = On ignore_repeated_source = Off html_errors = Off

如果您打開錯誤日誌記錄,請記住之後刪除該文件,因為它通常位於可公開訪問的位置,任何人都可以訪問您的日誌。

您還可以使用wp-config.php打開 PHP error_logging 並將它們記錄到您指定的文件中。 確保將 WP_DEBUG 定義為 true,並將以下內容放在任何require_onceinclude命令之上:

 @ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); @ini_set( 'error_log', '/home/mysite.com/logs/php_error.log' ); /* That's all, stop editing! Happy blogging. */

有關錯誤記錄技術的更多示例,您可以查看 Mike Little 對 wp-hackers 電子郵件列表或曼徹斯特 WordPress 用戶組的建議。

在實現調試和日誌記錄設置時,需要牢記一些重要的事情:

  1. 如果 'WP_DEBUG' 設置為 'false','WP_DEBUG_DISPLAY' 和 'WP_DEBUG_LOG' 將不起作用。
  2. 如果 'WP_DEBUG' 設置為 'true',其他常量只有在它們也設置為 'true' 時才會被激活。 這包括php.ini文件中的指令——不僅僅是wp-config.php中的語句。 所以如果php.ini設置 ('display_errors' = 'Off'); 但是定義('WP_DEBUG_DISPLAY',true); 在您的wp-config.php文件中設置,將不會顯示錯誤,因為您的 PHP 配置行為將優先。
  3. 為確保您的指令按預期工作,您應該明確定義php.ini設置及其相應的 wp-config.php設置。

對於您的公共生產 WordPress 安裝,您可能會考慮將以下內容放在您的wp-config.php文件中,即使它可能部分是多餘的:

 @ini_set( 'log_errors', 'On' ); @ini_set( 'display_errors', 'Off' ); define( 'WP_DISABLE_FATAL_ERROR_HANDLER', false ); // 5.2 and later define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', false ); define( 'WP_DEBUG_DISPLAY', false );

注意:如果您在/wp-content/debug.log的默認位置使用默認調試日誌文件,您需要將文件訪問限制為僅對 SFTP 的訪問。 將日誌文件權限設置為 600 並將以下內容添加到 . 根目錄下的.htaccess文件:

 <Files debug.log> Order allow,deny Deny from all </Files>

12.定義WordPress環境類型

如果您要設置本地、開發或臨時站點,定義“WP_ENVIRONMENT_TYPE”會很有用。 如果未定義此常量,則默認環境類型為production 。 允許的值為: localdevelopmentstagingproduction

 define( 'WP_ENVIRONMENT_TYPE', 'staging' );

注意:當 'WP_ENVIRONMENT_TYPE' 設置為 'development' 時,如果wp-config.php中尚未定義 WP_DEBUG,它將自動設置為 'true'。

13.調試腳本

如果您正在解決 JavaScript 和 CSS 的問題,您可以使用 SCRIPT_DEBUG 常量來強制 WordPress 使用腳本和样式表的開發版本。 將加載wp-includes/jswp-includes/csswp-admin/jswp-admin/css中的文件,而不是縮小版本。 要查看這些開發版本,請將“SCRIPT_DEBUG”設置為“true”。

 define( 'SCRIPT_DEBUG', true );

14.禁用JavaScript連接

在 WordPress 中,JavaScript 文件被排序以加快管理屏幕的加載時間。 如果您在 WordPress 管理區域中遇到 JavaScript 錯誤,您可以通過將“CONCATENATE_SCRIPTS”設置為“false”來禁用腳本連接。

 define( 'CONCATENATE_SCRIPTS', false );

這是wp-config.php的終極指南嗎?

雖然這篇文章內容相當廣泛,涵蓋了從如何定位、訪問和編輯wp-config.php的基礎知識開始的所有內容,但它絕不是詳盡無遺的。 您如何設置wp-config.php文件將取決於您的需求、服務器環境和個人偏好。 如果您對使用wp-config.php文件的方式有其他疑問,可以參考 WordPress.org 的支持文檔。 我們還在下面提供了一些常見問題的答案。

wp-config.php常見問題解答

如果我找不到我的wp-config.php位置怎麼辦?

雖然您的wp-config.php文件通常位於 WordPress 安裝的根文件夾中,但它可能位於其他位置。 如果您從以前的開發人員手中接管 WordPress 網站,或者您的託管公司自動為您安裝 WordPress,您更有可能遇到這種情況。 如果您在查找wp-config.php文件時遇到問題,可以在 SFTP 程序或 cPanel 中進行搜索。

Filezilla

如果您使用 Filezilla 通過 SFTP 訪問您的網站,您可以單擊頂部的雙筒望遠鏡圖標來執行文件搜索。 在您有權訪問的最頂層文件夾中搜索“wp-config.php” ,以防wp-config.php位於根目錄之外的文件夾中。 結果可能需要幾分鐘才能出現,因為您將搜索服務器上的所有文件夾。

Filezilla 中的搜索表單

面板

在 cPanel 中搜索wp-config.php非常簡單。 在主機的 cPanel 中,單擊Files下的File Manager

您將被帶到服務器上的文件樹,屏幕右上角將是一個搜索字段。 您可以使用左側的下拉選擇器來選擇是要搜索所有文件還是僅搜索特定目錄。 由於您不知道wp-config.php在哪裡,因此最好搜索所有目錄。

在搜索字段中輸入'wp-config.php'並單擊Go

cpanel中的搜索表單

如果您仍然找不到wp-config.php ,可能是它的文件夾沒有設置正確的權限讓您能夠訪問它。 在這種情況下,請聯繫您的託管公司尋求幫助。

如果我的wp-config.php文件不可寫怎麼辦?

如果您在 WordPress 儀表板中看到有關缺少wp-config.php寫入權限的錯誤,這可能是由於插件需要對wp-config.php 的寫入權限。 某些插件需要這種類型的訪問權限才能添加插件工作所需的代碼。 但是,出於安全原因,某些主機可能對wp-config.php實施嚴格的權限,這也拒絕對這些插件的寫訪問。

如果您的主機允許您更改這些設置,您應該能夠通過 SFTP 或 cPanel 更改您的文件和文件夾權限。

SFTP

對於此示例,我們使用 Filezilla。

1. 通過 SFTP 連接到您的服務器。

2. 找到你的wp-config.php文件。 默認情況下,它位於 WordPress 安裝的根文件夾中,但可能位於其他位置。

3. 右鍵單擊您的wp-config.php文件,然後單擊File Permissions

編輯文件權限

確保文件權限設置為 640 或 644。

將文件權限設置為 644

如果wp-config.php位於根文件夾之外的文件夾中,請仔細檢查文件夾權限是否設置為 750 或 755。

將文件權限設置為 755

注意:某些託管平台可能會要求您使用不同的權限值。 對於文件,您可以嘗試 664 和 666。對於文件夾,請嘗試 775。

如果更改文件權限不能解決您授予寫訪問權限的問題,則很可能是文件所有權設置問題,您需要聯繫您的託管服務提供商以進行任何更改。

閱讀有關 WordPress 文件權限的更多信息。

插件可以編輯我的wp-config.php文件嗎?

如果您的文件夾和文件權限設置為允許寫入訪問(文件夾為 750、755 或 775;文件為 640、644、664 或 666),那麼插件應該能夠寫入wp-config.php 。 如果您想禁止插件寫入您的wp-config.php文件,您可以設置更嚴格的文件權限 440 或 400。這也將阻止您服務器上的其他用戶讀取wp-config.php

什麼是wp-config-sample.php

當您最初下載 WordPress 時,沒有包含wp-config.php文件。 該文件通常在安裝過程中設置,也可以手動配置。 wp-config-sample.php文件包含在 WordPress 中,因此用戶可以在手動配置wp-config.php時使用模板,並且還可以使用備份的“乾淨的 slate”模板來處理您的問題您創建的原始wp-config.php文件。

wp-config-sample.php包括設置 WordPress 所需的所有基本常量和占位符值,以及文件中有助於用戶了解放置某些信息的部分的註釋掉說明。

wp-config-sample.php 內容:

 <?php /** * The base configuration for WordPress * * The wp-config.php creation script uses this file during the installation. * You don't have to use the web site, you can copy this file to "wp-config.php" * and fill in the values. * * This file contains the following configurations: * * * Database settings * * Secret keys * * Database table prefix * * ABSPATH * * @link https://wordpress.org/support/article/editing-wp-config-php/ * * @package WordPress */ // ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** Database username */ define( 'DB_USER', 'username_here' ); /** Database password */ define( 'DB_PASSWORD', 'password_here' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' ); /**#@+ * Authentication unique keys and salts. * * Change these to different unique phrases! You can generate these using * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}. * * You can change these at any point in time to invalidate all existing cookies. * This will force all users to have to log in again. * * @since 2.6.0 */ define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' ); /**#@-*/ /** * WordPress database table prefix. * * You can have multiple installations in one database if you give each * a unique prefix. Only numbers, letters, and underscores please! */ $table_prefix = 'wp_'; /** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. * * For information on other constants that can be used for debugging, * visit the documentation. * * @link https://wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false ); /* Add any custom values between this line and the "stop editing" line. */ /* That's all, stop editing! Happy publishing. */ /** Absolute path to the WordPress directory. */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); } /** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';