14 mins read ‧ 2022/07/17 易
WordPress 專案目錄結構解析 – ./wp-config.php
Table of Contents
wp-config.php
是什麼?
前情提要: WordPress 專案目錄結構解析
我們上篇提到 wp-config.php
的摘要是
WordPress 的設置文件,可以配置許多重要的資訊,例如資料庫名稱、資料庫用戶 & 密碼,還有許多有用的常數,例如
WP_DEBUG
偵錯模式就是在這邊打開
看源碼解析前,先聊一點 php
裡面因為有用到 php
的函式 define
,所以這邊我們還是要稍微簡單理解 define
是什麼,這邊我們參考 W3Cschools 的解釋
define
的用法
用途 | 定義一個常數,常數被定義後,是不可以變更的 ( 變數才是可以變更的 ) |
語法 | define( name, value, case_insensitive ) |
define
傳入的參數
name | 必填 常數的名稱 |
value | 必填 常數的值 |
case_insensitive | 大小寫不敏感
|
define
範例
其實大家也可以去 W3Cschools 自己玩玩看
這是 php
最簡單的函式之一
define( 'DB_NAME', 'test_db' );
意思就是,定義了一個叫做 DB_NAME
常數,而這個常數的值是 test_db
關於單引號 '
和 雙引號 "
不常打代碼的朋友們可能第一次看到,對於 單引號 '
或 雙引號 "
會有疑問,什麼時候該打或不打
其實,被單引號 '
或 雙引號 "
包起來的內容都是 字串 ( String )
這是程式語言常用的資料結構
通常在使用字串的時候會用到 單引號 '
或 雙引號 "
(廢話😂)
因為在 php
內,如果你沒打 單引號 '
或 雙引號 "
, php
會認為你想打 變數 ( variable )
或 函數 ( function )
php
裡面的註解
- 單行註解 –
//
後面接的文字都是註解 - 多行註解 – 被
/*
還有*/
包住的內容
註解就是說明用途,不會執行
wp-config.php
源碼解析
⭐ 是比較常用到的,需要留意
如果真的記不起來,那看有 ⭐ 的就好 😂
<?php
// ⭐資料庫名稱,如果你的資料庫名稱叫做 'test_db',這邊就是這樣打
define( 'DB_NAME', 'test_db' );
// ⭐資料庫用戶名稱,如果你的資料庫用戶名稱叫做 'root',這邊就是這樣打
define( 'DB_USER', 'root' );
// ⭐資料庫用戶密碼,如果你的資料庫用戶密碼叫做 '1234',這邊就是這樣打
define( 'DB_PASSWORD', '1234' );
// 這邊通常是 'localhost' ,代表資料庫與你的網頁是同一台伺服器
// 如果你使用遠端資料庫,這邊可以打 ip 地址或者 End Point Url
define( 'DB_HOST', 'localhost' );
// 這邊是定義資料庫編碼
define( 'DB_CHARSET', 'utf8' );
// 跟資料庫字符集排序相關,這邊不用動它
define( 'DB_COLLATE', '' );
/*
* 下面這一堆是 認證 (auth) 與 加鹽 (salt) 的設定
* 你可以在 https://api.wordpress.org/secret-key/1.1/salt/ 生成唯一的 認證 (auth) 與 加鹽 (salt)
* 關於 認證 (auth) 與 加鹽 (salt) 可以參考這篇
*/
define( 'AUTH_KEY', 'jB]xPb!v85C~g5O%;@:NrR;7cu%$<W3h;m5,WK:ICd=e~*mo(}pk>Thu)1>#3zA$' );
define( 'SECURE_AUTH_KEY', 'YVVP1rmg,F)$q>z~ip&X0|4:MWXh4#9gk-&Ur@ue[aD4JFoE^G-*S8VZD,E,iiN;' );
define( 'LOGGED_IN_KEY', 'Wxp8wVU<~VF+X(^ D2YW1fN;{73W[UumIxr/(4X3ny1tzo.,,qp=vGLf.<K1Vm<!' );
define( 'NONCE_KEY', '.%usS%+XiC^/JEuiWFOh12Iih:K#|N+o!BQJ;8oXA!(c%<z7?&hje17zt|ub.nD4' );
define( 'AUTH_SALT', '[*6,N$qbvK|:c| =YLxRU>qA=X9bU;%U;x5nq/{&KokZC-|w| KAZ>hLd5fg`+.J' );
define( 'SECURE_AUTH_SALT', '2Y~oQ2[sjd1n@0F}yJ;x)=M{N(EE~ ZbA-J]Xb!!vKI1JWR} Ro*S,Jv988-] +' );
define( 'LOGGED_IN_SALT', '.dNo/,~i|6Lh!oWpILc8UA[D979`NULxJbDQ;)]l<MAQyR57MY:b7Vx,:%_jcojS' );
define( 'NONCE_SALT', 'EXSqXZ6RN_?8b>Z$lN.!L#vM$i7vZFXg-}Un%lNT^%k_!X7WO&Amr=@Y3eRE*ape' );
define( 'WP_CACHE_KEY_SALT', 'sGy6|xsFZ,%%@>c#EgttUsN8):P>qI%uRH*MFHA@==E}W5]D~$|]cbv|tv&@N#YE' );
// 資料表前缀字,預設是 wp_ ,如果在一開始安裝時有修改,就會不同
// 有時候因為安全性考量,會把 wp_ 改掉,讓駭客不容易猜中
$table_prefix = 'wp_';
/*
* ⭐開啟 Debug 模式,預設為 false
* 打開後如果 php 有代碼警告,會顯示在前台
* 如果是重大錯誤也會告訴你錯在哪個檔案
* true - 開啟
* false - 關閉
*/
define('WP_DEBUG', false);
// 從這邊開始,你可以添加一些其他的常數,WordPress 預設的常數可以參考這篇
define('WP_DEBUG_LOG', true); // 產生 debug log 檔
define('FORCE_SSL_ADMIN', true); // 強制後台 HTTPS
define('WP_CACHE', true); // 啟用 WordPress 物件快取
define('WP_POST_REVISIONS', 2); // 限制版本修訂的數量
define('FS_METHOD', 'direct'); // 設定檔案傳輸方式
define('WP_MEMORY_LIMIT', '1024M'); // WordPress 記憶體限制
// 而我身為一個開發者,也會經常寫一些功能,並且透過定義常數的方式來啟用/關閉功能
// 下面就是路徑常數定義以及引入檔案,就不多做說明
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', dirname( __FILE__ ) . '/' );
}
require_once ABSPATH . 'wp-settings.php';
覺得不錯的話,請給我點個推薦
您的支持與鼓勵是我們前進的最大動力!