Contact
Line : comsiam
Contact
Line : comsiam

ข้อความ “Unable to connect to the database” หมายความว่า Joomla ติดต่อเซิร์ฟเวอร์ฐานข้อมูลไม่ได้ โดยสาเหตุที่พบบ่อยคือฐานข้อมูลหยุดทำงาน ชื่อผู้ใช้หรือรหัสผ่านเปลี่ยน หรือค่าการเชื่อมต่อใน configuration.php ไม่ตรงกับข้อมูลบนโฮสติ้ง
ให้ตรวจตามลำดับนี้ก่อนแก้ไฟล์ เพราะการเปลี่ยนค่าโดยเดาอาจทำให้เว็บไซต์เชื่อมต่อไม่ได้หนักกว่าเดิม
เข้าสู่แผงควบคุมโฮสติ้ง แล้วตรวจสถานะบริการ MySQL หรือ MariaDB รวมถึงประกาศบำรุงรักษาระบบ หากบริการฐานข้อมูลหยุดทำงาน เว็บไซต์อาจแสดงข้อความนี้แม้ค่าที่ตั้งไว้ใน Joomla จะถูกต้อง
ถ้ามีเครื่องมือจัดการฐานข้อมูล เช่น phpMyAdmin ให้ลองเปิดและเข้าสู่ระบบ หากเครื่องมือใช้งานไม่ได้ หรือโฮสติ้งแจ้งว่าฐานข้อมูลกำลังบำรุงรักษา ให้ติดต่อผู้ให้บริการและรอการแก้ไขก่อน อย่าเปลี่ยนรหัสผ่านหรือข้อมูลใน configuration.php โดยไม่จำเป็น
configuration.phpไฟล์ configuration.php อยู่ในโฟลเดอร์หลักของ Joomla เปิดด้วย File Manager หรือ FTP แล้วตรวจค่าต่อไปนี้เทียบกับข้อมูลที่แสดงในแผงควบคุมโฮสติ้ง
$host — ชื่อโฮสต์ของเซิร์ฟเวอร์ฐานข้อมูล$user — ชื่อผู้ใช้ฐานข้อมูล$password — รหัสผ่านฐานข้อมูล$db — ชื่อฐานข้อมูล$dbtype — ชนิดฐานข้อมูลที่ตั้งไว้ค่าของ $host ไม่จำเป็นต้องเป็น localhost เสมอไป ผู้ให้บริการบางรายแยกเซิร์ฟเวอร์เว็บไซต์กับฐานข้อมูล จึงต้องใช้ชื่อโฮสต์ที่โฮสติ้งกำหนด
หากจำเป็นต้องแก้ค่า ให้ดาวน์โหลดไฟล์เดิมเก็บไว้ก่อน และเปลี่ยนเฉพาะรายการที่ตรวจพบว่าไม่ตรง ระวังเครื่องหมายอัญประกาศและอัฒภาค รวมถึงอย่าเผยแพร่บรรทัด $password ให้ผู้อื่นเห็น
ในแผงควบคุมโฮสติ้ง ให้ตรวจว่าชื่อผู้ใช้ฐานข้อมูลยังมีอยู่ และได้รับสิทธิ์เข้าถึงฐานข้อมูลที่ Joomla ใช้งาน หากเพิ่งเปลี่ยนรหัสผ่าน ต้องแน่ใจว่าค่าใน $password ตรงกับรหัสผ่านปัจจุบัน
หากบัญชีฐานข้อมูลถูกลบ ให้สร้างหรือกำหนดบัญชีใหม่ผ่านเครื่องมือของโฮสติ้ง และเชื่อมบัญชีนั้นกับฐานข้อมูลพร้อมสิทธิ์ที่จำเป็น หากไม่แน่ใจว่าควรตั้งสิทธิ์แบบใด ให้ถามผู้ให้บริการแทนการเปิดสิทธิ์เกินจำเป็น
เมื่อย้ายเว็บไซต์ เปลี่ยนแพ็กเกจโฮสติ้ง หรือกู้คืนเว็บไซต์ ค่าฐานข้อมูลเดิมอาจใช้ไม่ได้กับเซิร์ฟเวอร์ใหม่ ให้เทียบชื่อฐานข้อมูล ชื่อผู้ใช้ และชื่อโฮสต์ใน configuration.php กับค่าที่โฮสติ้งปลายทางกำหนด
ลองเลือกฐานข้อมูลจาก phpMyAdmin แล้วตรวจว่ามีตารางของเว็บไซต์ Joomla อยู่หรือไม่ หากมีหลายฐานข้อมูล ให้ตรวจว่า $db ชี้ไปยังฐานข้อมูลที่นำเข้าข้อมูลของเว็บไซต์นี้จริง
ค่า $dbprefix ใช้บอก Joomla ว่าตารางของเว็บไซต์ใช้คำนำหน้าใด โดยทั่วไปไม่ได้เป็นข้อมูลยืนยันตัวตนสำหรับเชื่อมต่อฐานข้อมูล หากแก้คำนำหน้าผิด อาจเกิดปัญหาไม่พบตารางหลังเชื่อมต่อได้ จึงไม่ควรเปลี่ยนค่านี้เพื่อแก้ข้อความเชื่อมต่อฐานข้อมูลไม่ได้
ลองนึกย้อนว่าข้อความเริ่มปรากฏหลังเหตุการณ์ใด เพื่อให้ตรวจจุดที่เกี่ยวข้องได้เร็วขึ้น
① เกิดหลังเปลี่ยนรหัสผ่านฐานข้อมูล: เทียบค่า $password ในไฟล์กับรหัสผ่านใหม่ในโฮสติ้ง
② เกิดหลังย้ายโฮสติ้ง: ตรวจ $host, $user และ $db จากข้อมูลของเซิร์ฟเวอร์ใหม่
③ เกิดขึ้นทันทีโดยไม่ได้แก้เว็บไซต์: ตรวจสถานะ MySQL/MariaDB และสอบถามโฮสติ้งว่ามีการหยุดบริการหรือเปลี่ยนการตั้งค่าหรือไม่
④ เกิดหลังคืนค่าข้อมูลสำรอง: ตรวจว่ากู้ทั้งไฟล์และฐานข้อมูลจากชุดเดียวกัน และค่าการเชื่อมต่อยังตรงกับโฮสติ้งปัจจุบัน
แจ้งผู้ให้บริการโฮสติ้งว่าเว็บไซต์ Joomla แสดงข้อความนี้ พร้อมระบุเวลาที่เริ่มเกิดปัญหา ชื่อฐานข้อมูล และผลการทดสอบเข้า phpMyAdmin หากแนบภาพหน้าจอหรือไฟล์ตั้งค่า ให้ปิดบังรหัสผ่านก่อนเสมอ
ทีมดูแลเว็บไซต์ เช่น ComSiam สามารถใช้ข้อมูลเหล่านี้ช่วยตรวจได้ว่าเกิดจากบริการฐานข้อมูล ข้อมูลบัญชี หรือการตั้งค่าเว็บไซต์ โดยไม่ต้องเปิดเผยรหัสผ่านจริง
เมื่อ Joomla ขึ้น “Unable to connect to the database” ให้ตรวจสถานะ MySQL/MariaDB ก่อน แล้วเปรียบเทียบค่า $host, $user, $password และ $db ใน configuration.php กับข้อมูลของโฮสติ้ง ตรวจสิทธิ์ของผู้ใช้และฐานข้อมูลด้วย หากเพิ่งย้ายเว็บไซต์หรือเปลี่ยนรหัสผ่าน ให้เริ่มตรวจจากการเปลี่ยนแปลงนั้น และอย่าแก้ค่าด้วยการเดา