ไฟล์ที่จะขาดไม่ได้ในการติดตั้ง WordPress ก็คือ ไฟล์ wp-config.php ไฟล์นี้อยู่ภายในโฟล์เดอร์หลักของเว็บ WordPress ของคุณ โดยจะทำหน้าที่เก็บข้อมูลสำคัญคือ ข้อมูลการเชื่อมต่อฐานข้อมูล และอื่นๆ
แต่หากคนที่ดาวน์โหลด WordPress มาจาก wordpress.org แล้วแตกโฟล์เดอร์ออกมาครั้งแรกจะไม่พบกับไฟล์นี้ แต่จะพบกับไฟล์ที่ชื่อคล้ายๆ กันคือ wp-config-sample.php

และหากคุณติดตั้ง WordPress โดยปกติระบบของ WordPress จะทำการสร้างไฟล์ wp-config.php ให้คุณอัตโนมัติจากการที่คุณกรอกแบบฟอร์มด้านล่างนี้ ( ทุกคนคงรู้จักกันดีนะครับ )

บทนี้ผมไม่ได้สอนสร้างฐานข้อมูล หรือ database user นะครับเน้นสอนแค่เรื่อง wp-config.php เท่านั้น
สร้าง wp-config.php ด้วยตัวเอง
ใครที่อยากเข้าใจ wp-config.php อย่างแจ่มแจ้งผมแนะนำว่าควรลองสร้างด้วยตัวเองดูสักครั้งนะครับ
ก่อนอื่นให้คุณติดตั้ง WordPress ใหม่ขึ้นมาสักเว็บนะครับ ( เอาแค่แตกไฟล์เพื่อให้ได้แค่โฟล์เดอร์ WordPress มาก็พอครับ ยังไม่ต้องเข้าหน้าเว็บผ่านเบราว์เซอร์
ต่อไปคุณก็ทำการ Copy ไฟล์ที่ชื่อว่า wp-config-sample.php (ที่ผมวงไว้ในรูปก่อนหน้าโน้น) และใช้ชื่อว่า wp-config.php เท่านี้คุณก็ได้ไฟล์ wp-config.php ที่สร้างเองมาแล้ว
แต่ยังไม่เสร็จครับ เว็บคุณยังไม่สามารถใช้งานได้
ตั้งค่าการเชื่อมต่อฐานข้อมูลใน wp-config.php
เปิดไฟล์ wp-config.php ขึ้น คุณจะได้โค้ดดังภาพครับ และในบริเวณที่ผมวงไว้คือ บริเวณสำหรับตั้งค่าตัวแปรในการเชื่อมต่อฐานข้อมูล

โดยสิ่งที่เราต้องแก้ไขมีดังนี้ครับ
- DB_NAME – ชื่อฐานข้อมูลที่ต้องการเชื่อมต่อ
- DB_USER – ชื่อ username ที่ใช้เชื่อมต่อกับฐานข้อมูลนั้น
- DB_PASSWORD – รหัสผ่านของ username ข้างต้น
- DB_HOST – ชื่อโฮส MySQL โดยปกติเป็น localhost, localhost:3306, mysql:3306 หรืออื่นๆ ( หากคุณไม่ทราบสามารถสอบถามผู้ดูแลโฮสของคุณได้ครับ )
- ค่า DB_CHARSET และ DB_COLLATE ไม่ต้องแก้ไขนะครับ
เมื่อตั้งค่าเรียบร้อยก็จะได้ดังนี้ครับ

*สำคัญ : โค้ดในไฟล์ wp-config-sample.php
ตำแหน่งการจัดวางคุณห้ามเปลี่ยนแปลงนะครับ เช่น
คุณจะย้ายข้อมูลการเชื่อมต่อฐานข้อมูลไปไว้ใต้
require_once( ABSPATH . 'wp-settings.php' );
ก็จะทำให้เว็บใช้งานไม่ได้นะครับ
เพราะฉะนั้นแก้ไขแค่ค่าตามที่ผมระบุ พอนะครับ ไม่ควรย้ายตำแหน่ง
Security Keys และ Salts
ส่วนนี้คือส่วนที่เก็บรหัสลับที่จะมาช่วยให้เว็บไซต์ของคุณถูกโจมตีได้ยากขึ้น เช่น
- รหัสลับที่ใช้เพิ่มเข้าไปกับรหัสผ่านที่คุณตั้ง เพื่อให้ว่าแม้โดนแฮคฐานข้อมูล แฮคเกอร์ก็ไม่สามารถทราบได้ว่ารหัสผ่านที่แท้จริงคืออะไร
- รหัสลับที่เพิ่มเข้าไปกับชื่อและค่าของคุกกี้
ส่วนการทำงานอย่างละเอียดเป็นอย่างไร ไว้มีโอกาสผมจะมาเจาะให้อ่านกันนะครับ
หัวข้อต่อไปจะมาสอนสร้าง Salt Keys กันนะครับ แต่ไม่ต้องตกใจ หากคุณติดตั้ง WordPress แบบปกติคือ ไม่ได้เข้ามาจัดการไฟล์ wp-config เอง WordPress จะสร้างรหัสเหล่านี้ให้อัตโนมัติอยู่แล้ว
สร้าง Security Keys และ Salts ลงใน wp-config.php
1. ไปที่ https://api.wordpress.org/secret-key/1.1/salt/
พอเข้าไปเราก็จะได้หน้าเว็บที่แสดง keys ดังภาพครับ

2. จากนั้นนำ keys ที่ได้มาวางทับบริเวณดังภาพด้านล่างเลยครับ

เมื่อวางเสร็จแล้วก็จะได้ประมาณนี้ครับ

เท่านี้เราก็ตั้งค่า Security Keys และ Salts ให้กับเว็บไซต์เราเรียบร้อยแล้วครับ
table_prefix

ตัวแปร $table_prefix นั้นคือตัวแปรสำหรับตั้งค่า คำขึ้นต้นชื่อของตารางในฐานข้อมูล โดยค่าเริ่มต้นคือ “wp_”
หลักการตั้ง table_prefix
ต้องตั้งเป็นตัวเลข ตัวอักษร และ _ เท่านั้น
ประโยชน์ของ table_prefix
- สำหรับบางเว็บใน 1 ฐานข้อมูลอาจจะมีเว็บไซต์ WordPress หลายเว็บทำให้การเรียกใช้งานตารางๆ ต้องมีชื่อที่ต่างกัน ซึ่งแก้โดยการตั้งค่า $table_prefix ต่างกัน เช่น “wp_” และ “wp1_” เป็นต้น

- ประโยชน์อีกข้อหนึ่งคือ จากที่กล่าวมาแล้วว่าค่าเริ่มต้นของ $table_prefix คือ wp_ ซึ่งคนทั่วไปรู้จักรวมถึงแฮ็กเกอร์ด้วยเช่นกัน ดังนั้น หากเว็บเรามีช่องโหว่ที่ทำให้แฮ็กเกอร์สามารถดึงข้อมูลจากฐานข้อมูลของเราได้ และต้องการดูข้อมูลสมาชิกในฐานข้อมูลเรา โดยปกติจะดูได้ที่ตาราง wp_users แต่ถ้าหากเราตั้งค่า $table_prefix เป็นค่าอื่นที่ยากขึ้น เช่น r1c2e_ แฮ็กเกอร์ก็จะไม่สามารถดึงข้อมูลได้เนื่องจากตาราง wp_users นั้นไม่มีอยู่ในฐานข้อมูลของเรา แต่มีตาราง r1c2e_users มาแทน
สรุป : wp-config.php คืออะไร
จากเนื้อหาทั้งหมดคงทราบกันแล้วว่า wp-config.php ก็คือไฟล์สำหรับการ config เว็บไซต์ที่สร้างด้วย WordPress นั้นเอง ซึ่งยังมีตัวแปรอื่นๆ ที่สามารถตั้งค่าได้อีกหลายตัว หากต้องการศึกษาเพิ่มสามารถอ่านได้ที่หมวดหมู่ WordPress Constant Variables แต่การปรับแก้ทุกครั้งต้องทำอย่างระมัดระวังนะครับ เพราะถ้าพิมพ์อะไรผิดไปนิดเดียว เว็บสามารถพังได้ทันทีครับ และควรทำการ Backup เว็บไซต์ไว้ทุกครั้งก่อนด้วย
ที่มา
https://wordpress.org/support/article/editing-wp-config-php/