خطای Error Establishing a Database Connection در وردپرس
یکی از خطاهای پرتکرار و دردسرساز وردپرس، رفع خطا در برقراری ارتباط با پایگاهداده یا همون پیام معروف Error Establishing a Database Connection هست.
توی مقاله رفع خطا در برقراری ارتباط با پایگاهداده Error Establishing a Database Connection میخوایم دقیق بررسی کنیم که چرا این خطا اتفاق میافته و چطور میتونی مرحلهبهمرحله اون رو برطرف کنی تا سایتت دوباره بدون مشکل بالا بیاد.
علت خطای Error Establishing a Database Connection در وردپرس
برای اینکه بفهمیم چرا این خطا در برقراری ارتباط با پایگاهداده Error Establishing a Database Connection رخ میده، باید اول کمی با سازوکار وردپرس آشنا بشیم. وردپرس یه سیستم مدیریت محتواست که با زبان PHP نوشته شده و همه اطلاعات مورد نیازش رو داخل پایگاه دادهی MySQL ذخیره میکنه.
وقتی پیام Error Establishing a Database Connection رو میبینی، یعنی ارتباط بین کدهای PHP و دیتابیس MySQL برقرار نشده. در نتیجه وردپرس نمیتونه اطلاعات رو فراخوانی یا ذخیره کنه.
این مشکل میتونه دلایل مختلفی داشته باشه:
اطلاعات ورود به دیتابیس (نام کاربری، رمز عبور یا پیشوند جداول) اشتباه وارد شده باشه.
دیتابیس موقع نصب وردپرس یا یکی از افزونهها آسیب دیده باشه.
بعضی از جداول ضروری به هر دلیلی حذف شده باشن.
دیتابیس روی یه هاست دیگه قرار داشته باشه و اتصال درست برقرار نشه.
سرویس پایگاه داده از سمت سرور میزبان دچار مشکل شده باشه.
خبر خوب اینه که همهی این موارد قابل حل هستن و با بررسی مرحلهبهمرحله میتونی علت اصلی رو پیدا کنی و مشکل رو برطرف کنی.
همچنین میتوانید آموزش رفع ارور 500 در وردپرس Internal Server Error 500 (آموزش رفع خطای 500) را در این صفحه مطالعه کنید.
راهحل اول: ویرایش اطلاعات دیتابیس وردپرس
اگر با خطای ارتباط با پایگاهداده روبهرو شدی، اولین قدم اینه که اطلاعات دیتابیس رو بررسی و اصلاح کنی. برای شروع:
وارد دایرکت ادمین بشو.
از اونجا به بخش مدیریت فایل (File Manager) برو.
در این مرحله میتونی فایلهای اصلی وردپرس مثل wp-config.php رو پیدا کنی و مطمئن بشی اطلاعات ورود به دیتابیس (نام کاربری، رمز عبور، نام دیتابیس و هاست) درست وارد شده باشه. خیلی وقتها همین اصلاح ساده باعث میشه مشکل برطرف بشه و سایت دوباره بالا بیاد.

در این مرحله کافیه روی پوشهی اصلی سایت یعنی public_html کلیک کنی. این همون شاخهایه که همه فایلهای وردپرس داخلش قرار دارن و معمولاً نقطهی شروع برای هر تغییر یا بررسی محسوب میشه.

وقتی وارد پوشهی public_html شدی، فایل wp-config.php رو پیدا کن. این فایل تنظیمات اصلی وردپرس رو نگه میداره. حالا روی گزینهی Edit کلیک کن تا بتونی جزئیات اتصال به دیتابیس رو بررسی و در صورت نیاز اصلاح کنی.

بعد از اینکه فایل wp-config.php رو انتخاب کردی و روی گزینهی Edit زدی، صفحهای باز میشه که داخلش میتونی جزئیات مربوط به دیتابیس رو ببینی. این اطلاعات شامل نام پایگاهداده، نام کاربری، رمز عبور و هاست دیتابیس هستن که وردپرس برای اتصال به پایگاهداده ازشون استفاده میکنه.
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘filmamooz.com_wp’ );
/** MySQL database username */
define( ‘DB_USER’, ‘filmamooz.com_wp’ );
/** MySQL database password */
define( ‘DB_PASSWORD’, ‘*********’ );
/** MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );
توی این قسمت میتونی مطمئن بشی که نام کاربری و رمز عبور دیتابیس درست وارد شده باشه. اگر اطلاعات اشتباه باشه، وردپرس نمیتونه به پایگاهداده وصل بشه و همون خطای معروف رو نشون میده.
اگه لازم شد رمز عبور دیتابیس رو تغییر بدی، خیلی راحت میتونی این کار رو از طریق دایرکت ادمین انجام بدی. برای راهنمایی بیشتر هم میتونی آموزش تغییر رمز عبور دیتابیس در دایرکت ادمین رو دنبال کنی.
همچنین می توانید آموزش رفع خطای صفحه سفید وردپرس با 7 روش ساده را در این صفحه مطالعه کنید.
راهحل دوم: تعمیر و بهینهسازی پایگاهداده وردپرس
برای رفع خطا در برقراری ارتباط با پایگاهداده یا خطای Error Establishing a Database Connection ، یکی از روشهای کاربردی اینه که پایگاهداده رو تعمیر و بهینهسازی کنی. برای شروع:
وارد پنل هاست بشو. (ما اینجا از دایرکت ادمین استفاده میکنیم، اما همین مراحل توی cPanel هم قابل اجراست.)
از بخش File Manager وارد پوشهی اصلی سایت یعنی public_html بشو.
حالا فایل مهم wp-config.php رو پیدا کن و روی گزینهی Edit کلیک کن.

حالا که فایل wp-config.php رو باز کردی، کافیه در انتهای اون کد زیر رو اضافه کنی:
define(‘WP_ALLOW_REPAIR’ , true);
کدی که اضافه کردی این امکان رو بهت میده که دیتابیس وردپرس رو بهصورت خودکار تعمیر و بهینهسازی کنی. بعد از ذخیرهی تغییرات، کافیه وارد لینک زیر بشی:
domain.com/wp-admin/maint/repair.php
(به جای domain.com باید آدرس سایت خودت رو وارد کنی.)
اگر همهچیز رو درست انجام داده باشی، صفحهای باز میشه که گزینههای تعمیر و بهینهسازی دیتابیس رو نشون میده. از همینجا میتونی جداول پایگاهداده رو بررسی و مشکلات احتمالی رو برطرف کنی.

وقتی وارد صفحهی تعمیر دیتابیس شدی، دو گزینه پیش روی تو قرار میگیره. میتونی هرکدوم رو انتخاب کنی، اما توجه داشته باش که گزینهی تعمیر و بهینهسازی پایگاهداده معمولاً زمان بیشتری میبره. این گزینه علاوه بر رفع خطاها، جداول دیتابیس رو مرتب و بهینه میکنه تا عملکرد کلی سایت بهتر بشه.
نکته امنیتی مهم
یادت باشه بعد از انجام عملیات تعمیر، حتماً خط کدی که به فایل wp-config.php اضافه کردی رو پاک کنی. چون تا زمانی که این کد داخل فایل باشه، وردپرس میتونه بدون نیاز به رمز عبور به دیتابیس وصل بشه و این موضوع میتونه امنیت سایتت رو به خطر بندازه.
راهحل سوم: تغییر آدرس دیتابیس از localhost به آیپی هاست
گاهی وقتها دلیل خطای ارتباط با پایگاهداده اینه که دیتابیس روی یه هاست دیگه قرار داره، اما وردپرس هنوز تلاش میکنه از طریق localhost بهش وصل بشه. همین موضوع باعث میشه اتصال برقرار نشه و خطا نمایش داده بشه.
نکته مهم:
اگر دیتابیس شما روی سرور محلی (localhost) نیست، باید حتماً آدرس آیپی سرور دیتابیس رو از شرکت هاستینگ دریافت کنی.
اگر مطمئن نیستی، بهتره مقدار DB_HOST رو همون حالت پیشفرض یعنی localhost بذاری.
برای اعمال تغییرات:
دوباره فایل wp-config.php رو باز کن.
بخش مربوط به اطلاعات دیتابیس رو پیدا کن.
مقدار DB_HOST رو از localhost به آیپی سرور دیتابیس تغییر بده.
define( ‘DB_HOST’, ‘localhost’ );
و به زیر تغییر دهید:
define( ‘DB_HOST’, ‘x.x.x.x’ );
در نمونهای که بالا دیدی، مقدار x.x.x.x در واقع همون آیپی هاستی هست که پایگاهدادهت روی اون قرار گرفته. پس باید این قسمت رو با آدرس آیپی واقعی سرور دیتابیس خودت جایگزین کنی تا وردپرس بتونه درست به پایگاهداده وصل بشه.
راهحل چهارم: تماس با پشتیبانی هاست
اگر هیچکدوم از روشهای قبلی جواب نداد، بهترین کار اینه که با پشتیبانی سرور ارتباط بگیری. تیم پشتیبانی هاست باید بهصورت ۲۴ ساعته و در تمام روزهای هفته آماده باشد تا مشکلات سایتت رو بررسی و برطرف کنه.
امیدوارم این آموزش کوتاه برای رفع خطای ارتباط با پایگاهداده برات مفید بوده باشه. خوشحال میشیم اگر با نظرات و کامنتهای خودت ما رو در بهتر کردن آموزشها همراهی کنی.
همیشه موفق و سربلند باشی!