چگونگی رفع خطای ایجاد اتصال به پایگاه داده در وردپرس
آیا با خطا در هنگام ایجاد اتصال به پایگاه داده در سایت وردپرسیتان مواجه شده اید؟ در پس این خطا چندین دلیل می تواند باشد. گاهی اوقات این خطا به طور غیر منتظره ای رخ می دهد و متعجب می شوید که چه تغییری در سایتتان باعث این موضوع شده است.
تعجب کافی است! در این مطلب چگونگی رفع خطای اتصال به پایگاه داده در وردپرس را با عیب یابی تمام دلایل ممکن با شما به اشتراک می گذاریم.
خطا در هنگام ایجاد اتصال به پایگاه داده - چه موقع و چرا؟
معمولا این خطا (Error Establishing a Database Connection) به این علت که وبسایتاتتان قادر به ایجاد یک اتصال پایگاه داده نیست رخ میدهد. اما علت اینکه چرا یک اتصال پایگاه داده ایجاد نمیکند برای هر فرد متفاوت است.اینجا چند دلیل ذکر شده است:
- وب سرور شما پاسخگوی درخواستتان نیست.
- سرور در حال دریافت درخواستهای زیادی است و پاسخگویی متوقف شده است.
- اطلاعات ورودتان غلط یا منقضی است. پایگاه داده شما با نرمافزارهای مخرب مختل شده است.
- پایگاه داده شما در نتیجهی تغییری در کد یا بهروزرسانی خودکار وردپرس مختل شده است.
بیشتر اوقات شما این خطا را هنگامی دریافت میکنید که مشکلی در میزبانی وب سرور شما وجود دارد. گرچه دلایل بسیار دیگری نیز میتوانند وجود داشته باشند. عیبیابی میتواند برای شما دشوار باشد زیرا نمیدانید به چه علت این مشکل در سایتتان رخ داده است. ما شما را قدم به قدم برای یافتن و رفع این مشکل همراهی میکنیم.
رفع خطای ایجاد اتصال پایگاه داده
قبل از شروع باید چندین پشتیبانی از پایگاه دادهتان ایجاد کنید و آنها را در مکانهای مختلف ذخیره کنید. اگر شما قادر به رهگیری و رفع این خطا نباشید؛ میتوانید با بازگردانی فایلهای پشتیبان به خطای اصلی بازگردید و راهکار جدیدی را امتحان کنید.
همچنین توصیه میکنیم که وردپرس؛ قالبها و افزونههایتان را بهروز نگه دارید؛ تا شانس کمتری برای مشاهدهی این خطا وجود داشته باشد. همچنین باید از سایت وردپرستان به طور منظم پشتیبان تهیه کنید تا اگر لازم شد آن را بازیابی کنید.
صفحه ورود مدیریت وردپرستان را بررسی کنید
شما باید صفحه ورود مدیریت وردپرستان را بررسی کنید تا ببینید چه خطایی در آنجا نمایش داده شده است. اگر این خطا مشابه خطای قسمت کاربری (front-end) سایتتان بود؛ قدم بعدی را دنبال کنید.
اگر خطای متفاوتی در صفحهی مدیریت وردپرس بود مانند یک یا چند جدول پایگاه داده در دسترس نیستند؛ شاید پایگاه داده نیاز به تعمیر داشته باشد و بنابراین شما باید فایل wp-config.php را ویرایش کنید و یک خط کد به آن اضافه کنید.
برای ویرایش wp-config.php میتوانید به سایت وردپرستان با FTP متصل شوید. شما باید این کد را قبل از "That’s all, stop editing! Happy blogging” اضافه کنید.
define('WP_ALLOW_REPAIR', true);
مطمئن شوید که این فایل را به درستی ذخیره کردهاید.
بعد از افزودن کد در فایل wp-config.php, آدرس http://www.yoursite.com/wp-admin/maint/repair.php را ملاحظه کنید (به جای www.yoursite.com آدرس سایت خودتان را قرار دهید)تا تنظیماتی که برای تعمیر پایگاه دادهتان لازم است را ببینید.
برای دسترسی به تعمیر پایگاه داده نیازی نیست به حساب کاربری وردپرستان وارد شوید. اگر کد را به درستی در فایل wp-config.php اضافه کنید سپس شما را برای رفع مشکلات پایگاه داده یاری میکند. پس از تعمیر میتوانید کد را از فایل wp-config.php حذف کنید. اگر مشکل همچنان وجود دارد؛ خواندن مقاله را برای یافتن راهحل دیگری ادامه دهید.
ویرایش فایل wp-config.php برای یافتن مشکل
شاید شما بدانید که فایل wp-config.php فایل اصلی است که سایت وردپرس شما را به پایگاه داده متصل میکند. حاوی اطلاعات ورود پایگاه داده شماست. اگر شما رمز عبور ریشه یا رمز عبور کاربر پایگاه داده را تغییر داده باشید باید این جزئیات را در فایل wp-config.php نیز به روز رسانی کنید. اگر جزئیات را در این فایل تغییر ندهید با خطای ایجاد اتصال پایگاه داده مواجه میشوید.
باید مطئن شوید که جزئیات ورود پایگاه داده در فایل wp-config.php و آنچه در پایگاه داده وردپرستان تنظیم کردهاید یکسان باشند.
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
در این کد DB_Name نشان دهندهی نام پایگاه دادهی شماست؛ DB_User نام کاربری پایگاه داده شماست؛ DB_Password رمز عبور پایگاه داده است و DB_Host مقدار هاست است.
شما میتوانید مقدار DB_Host را localhost وارد کنید اگر میزبانی هاست وردپرستان BlueHost ,HostGator باشد. برای میزبانیهای دیگر میتوانید با تیم پشتیبانی آنها تماس بگیرید.
ما همچنین متوجه شدیم که اگر در حال اجرای سایت وردپرستان بر روی یک سرور محلی مانند XAMPP یا MAMP هستید؛ میتوانید مقدار DB_Host را از localhost به IP تغییر دهید تا این خطا را رفع کنید.
define('DB_HOST', '127.0.0.1:8889');
این IP میتواند برای شرکتهای میزبانی وب آنلاین متفاوت باشد. اگر مشکل همچنان پابرجاست به خواندن این مقاله ادامه دهید تا دیگر راه حلهای ممکن را دریابید.
به سرور میزبانی وب خود توجه کنید
گاهی اوقات ترافیک زیادی را به طور غیر منتظره دریافت میکنید و سرور میزبانی وب شما پاسخگویی به درخواستها را متوقف میکند. ابتدا سرعت سایت شما را کاهش میدهد و سپس خطای ایجاد یک اتصال پایگاه داده را به کاربرانی که سعی در مشاهدهی سایت شما را دارند نمایش میدهد. این اتفاق عموما در محیطهای اشتراکی یا میزبانی VPS رخ میدهد.
شما میتوانید مستقیما با پشتیبانی میزبانی وب خود تماس بگیرید و این مشکل را بررسی کنید. برای شرکتهای میزبانی مدیریت شده مانند WPEngine و Siteground تیم پشتیبانی شما را سریعا جهت رفع خطا یاری میکنند.
در صورتی که بخواهید شخصا این خطا را عیبیابی کنید؛ ما به شما توصیه میکنیم که چند مورد را در سرور MYSQL چک کنید تا مشکل را رهگیری کنید.
ابتدا باید سعی کنید به دیگر سایتهای موجود بر روی این سرور دست یابید و بررسی کنید که به درستی اجرا میشوند یا خیر. اگر دیگر سایتها نیز خطای یکسانی نمایش میدهند؛ سرور MYSQL شما مختل شده است.
هنگامی که شما سایت دیگری بر روی این سرور برای تست ندارید؛ لازم است به phpMyAdmin بروید و به پایگاه دادهی خود متصل شوید. پس از اتصال باید بررسی کنید که اجازه کافی را دارید یا خیر. به سادگی یک فایل جدید testconnection.php را اضافه کنید و این کد را اضافه کنید:
شما باید نام کاربری و رمز عبور را با اطلاعات ورود پایگاه دادهی خودتان جایگزین کنید. هنگامی که متصل شد به این معناست که مشکلی در سطح دسترسی وجود ندارد و میتوانید بررسی فایل wp-config.php را مجددا ادامه دهید و بررسی کنید خطایی در نوشتن نام کاربری و رمز عبور نباشد.
اگر اتصال شما برقرار نشد احتمال دارد که سرور شما مشکلاتی داشته باشد. اگرچه نمیتوان گفت که سرور MYSQL شما پایین است. ممکن است کاربر پایگاه دادهی شما سطح دسترسی لازم را برای دسترسی به سرور نداشته باشد.
شما میتوانید با تماس با فراهم کنندهی میزبانی وب خود؛ از آنها تقاضای دسترسی کنید. در این صورت میتوانید خطاها را بررسی کنید و مشکلات را رفع کنید.
همچنان دلایل زیادی وجود دارند که این خطا را دریافت کنید و شما باید سایت خود را با راههای متفاوتی عیبیابی کنید.
امیر درخشانپور