چرا خطای error establishing a database connection رخ میدهد؟
بیشتر کاربران در دنیای وب در قسمت مدیریت محتوای سیستم CMS با این خطا روبرو شده اند. این خطا در صورتی رخ می دهد که در اتصال به پایگاه داده یا دیتابیس خطایی رخ دهد. پیش از انجام هر کاری از دیتابیس خود backup بگیرید و در کامپیوتر خود ذخیره کنید سپس تغییرات لازم را انجام دهید تا در صورت رخ دادن اشتباه به آسانی بتوانید فایل را به حالت قبل برگردانید.
دیتابیس جایی است که همه ی اطلاعات مهم سایت شما مانند پست ها، کامنت ها، تنظیمات سیستمی، حساب های کاربری، تنظیمات پوسته ها و افزونه ها و… در آن ذخیره می شود. حال اگر ارتباط وردپرس با دیتابیس برقرار نشود، سایت وردپرسی شما بارگذاری نخواهد شد و در اکثر مواقع خطای «Error establishing a database connection» به شما و کاربرانتان نمایش داده می شود.
برای حل این مشکل باید موارد زیر را مورد بررسی قرار دهید:
نیازمندی ها
برای اینکه بتوانید خطای «Error establishing a database connection» را عیب یابی و برطرف کنید، نیاز به چند پیش نیاز دارید:
- دسترسی Root و SSH به سرور
- دیتابیس در همان سرور واقع شده باشد.
- شما باید نام کاربری، گذرواژه و نام دیتابیس وردپرس خود را بدانید.
- همین طور توصیه می شود، قبل از اینکه اقدام به بر طرف سازی مشکل «Error establishing a database connection» نمایید، حتماً از همه ی فایل ها و دیتابیس وبسایت وردپرسی خود Backup تهیه نمایید.
بررسی پوشه wp-admin
اگر در این قسمت خطای “One or more database tables are unavailable / The database may need to be repaired” رخ دهد به این معناست که باید دیتابیس خود را تعمیر کنید. پس فایل wp-config.php در هاست خود ویرایش کنید، کد زیر را قبل از خط ” That’s all, stop editing! Happy blogging” اضافه کنید.
define(‘WP_ALLOW_REPAIR’, true);
سپس فایل را ذخیره کنید و در مرورگر خود بعد از آدرس سایت خود آدرس wp-admin/maint/repair.php مانند: www.your site/wp-admin/maint/repair.php اضافه کنید، اکنون به صفحه زیر مراجعه می شوید و می توانید پایگاه داده خود را تعمیر کنید.
با کلیک بر روی “تعمیر پایگاه داده” دیتابیس را تعمیر کنید. اگر با وجود این کار مجدداً با خطای Error Establishing a Database Connection مواجه شدید پس راه حل های بعد به کار ببرید. توجه داشته باشید هنگامی که دیتابیس مشکل دارد کاربر نمی تواند وارد سایت شود بعد از رفع مشکل حتماً کد بالا را که در فایل جای گذاری کردید حذف کنید.
بررسی فایل wp-config.php
فایل wp-config مهمترین فایل در کل روند نصب وردپرس است، تمام جزئیات پایگاه داده نظیر نام دیتابیس، نام کاربری و رمز عبور و هاست دیتابیس در این فایل موجود است.
define(‘DB_NAME’, ‘database-name’);
define(‘DB_USER’, ‘database-username’);
define(‘DB_PASSWORD’, ‘database-password’);
define(‘DB_HOST’, ‘localhost’);
اگر تغییری در نام و نام کاربری دیتابیس ایجاد کردید حتماً بررسی کنید که تغییرات در این فایل هم لحاظ شده باشد و همه اطلاعات صحیح است. بعد گزینه ی DB_Host اصولاً به صورت پیش فرض localhost می باشد، ولی امکان دارد بعضی از هاستینگ ها نام دیگری مشخص کرده باشند. برای رفع مشکل بهتر است که به جای نام پایگاه داده از آدرس آی پی آن استفاده کنید مثل کد زیر:
اگر مجدداً مشکل حل نشد پس حتماً مشکل از سمت سرور است.
بررسی هاست میزبانی سایت
در هر وقتی ممکن است وبسایت شما با خطای error establishing a database connection در وردپرس رو برو شود. در این زمان متاسفانه کاربران وب سایت را مشاهده می کنند و این اتفاق خوبی را رقم نمی زند. پس می بایست کاری کنیم که در این زمان ها وبسایت به صورت اتوماتیک به صفحه ی دیگری منتقل شود. برای ایجاد چنین قابلیتی در سایت باید روی سرور یا هاست خود و در درون فولدر wp-content فایل جدیدی به نام db-error.php بسازید، سپس یک کد HTML از پیش طراحی شده را در آن قرار دهید. برای این صفحه شما می توانید از هر کد یا تصویری استفاده کنید. فقط در نظر داشته باشید که به اطلاعات وردپرس و پایگاه داده آن دسترسی نخواهید داشت. قطعه کد زیر به صورت نمونه ایجاد شده و شما می توانید طبق اطلاعات خود آن را تغییر دهید:
<?php
$link = mysql_connect(‘localhost’, ‘root’, ‘password’);
if (!$link) {
die(‘Could not connect: ‘ . mysql_error());
}
echo ‘Connected successfully’;
mysql_close($link);
?>
مطالب مرتبط:
رفع مشکل جاوا اسکریپت Render Blocking در وردپرس
انتقال مستقیم به صفحه تسویه حساب در ووکامرس
افزونه مدیریت موجودی انبار ووکامرس
افزونه ارسال هدیه محصولات Woocommerce Gift Wrapper
درباره Mostafa Shoa
مدیر تیم پارس نویس، کارشناس مهندسی نرم افزار، مدرس دوره های برنامه نویسی و طراحی سایت در مدارس تیزهوشان، مشاور تبلیغات و بازاریابی استارتاپ ها و کسب و کارهای اینترنتی
نوشته های بیشتر از Mostafa Shoa
دیدگاهتان را بنویسید