سلام دوستان؛
یکی از رایج ترین ارورهای وب سایت ها Establishing a Database Connection است. این ارور به ما می گوید که اتصال سایت و دیتابیس قطع شده و امکان برقراری ارتباط وجود ندارد. بنابراین در اولین مرحله باید به دنبال این بگردیم که چرا اتصال برقرار نیست و خطای دیتابیس را برطرف کنیم. این ارور پس از برقراری ارتباط سایت و دیتابیس رفع خواهد شد.
خطای دیتابیس و عدم برقراری ارتباط
دقت داشته باشید که ابتدا قبل از شروع هر کاری یک نسخه کامل از وب سایت خود تهیه کنید. در صورتی که از کنترل پنل هاستینگ سی پنل استفاده می کنید می توانید از آموزش زیر کمک بگیرید.
راهنمای کامل بکاپ گیری از سایت در cPanel به همرا آموزش ویدیویی
دلیل بروز خطای Establishing a Database Connection چیست؟
اگر به صورت کلی بخواهیم این موضوع را تشریح کنیم همان طور که از ارور مشخص است، مشکلی در برقراری ارتباط سایت و دیتابیس رخ داده و تا زمانی که وب سایت نتواند ارتباط موثر و کاملی برقرار کنید، ارور همچنان پابرجا خواهد ماند. اصولا این ارور هنگام ورود به سایت در صفحه ابتدایی نمایش داده می شود و قادر به دسترسی به سایت نخواهید بود. دلایلی که موجب بروز این خطا می شوند و در ارتباط اختلال ایجاد می کنند عبارت اند از:
- خراب شدن پایگاه داده
- عدم پاسخگویی دیتابیس
- نادرست بودن اطلاعات مرتبط با دیتابیس
- عدم تطابق اطلاعات دسترسی و مواردی که در فایل های پیکربندی سایت وارد شده
- و…
هر موردی که باعث عدم برقراری ارتباط دیتابیس و سایت شود را باید برطرف کرد تا در نهایت وب سایت در دسترس قرار گیرد. این خطا اصولا در دو بخش قابل مشاهده است. در برخی موارد هنگام مراجعه به وب سایت ارور Establishing a Database Connection را در صفحه ابتدایی سایت مشاهده می کنید و گاها هنگام ورود به سیستم مدیریت محتوا ممکن است این ارور نمایش داده شود. پس در مرحله اول باید بررسی کرد که این خطای دیتابیس در کدام بخش از سایت رخ داده است.
در صورتی که در بخش ورود به سیستم مدیریت محتوای وب سایت خود این ارور را مشاهده کردید می توانید مستقیما به سراغ دیتابیس خود بروید و با انجام عملیات ریپیر یا تعمیر دیتابیس مشکل را رفع کنید. در صورتی که در هر دو بخش بک اند و فرانت اند سایت خود این ارور را مشاهده کردید باید پیکربندی های سایت را نیز بررسی کنید.
چطور می توانم دیتابیسم را تعمیر کنم؟
برای اینکه بتوانید پایگاه داده را تعمیر و خطای دیتابیس را رفع کنید، مراحل زیر را دنبال کنید:
- از طریق سرویس دهنده FTP یا از طریق پنل مدیریت هاستینگ خود (سی پنل- دایرکت ادمین) به هاست خود متصل شوید.
- به دایرکتوری PUBLIC_HTML مراجعه کنید.
- به دنبال فایلی با نام wp-config.php باشید.
- روی فایل راست کلیک کرده و گزینه EDIT را انتخاب کنید.
- قطعه کد زیر را به فایل خود اضافه کرده و سپس آن را ذخیره کنید.
define('WP_ALLOW_REPAIR', true);
پس از اینکه اجازه تعمیر دیتابیس را صادر کردید، آدرس زیر را در مرورگر خود وارد کنید. دقت داشته باشید که به جای yoursite.com نام وب سایت و به جای /wp-admin لینک ورود به سایت خود را درج کنید.
http://www.yoursite.com/wp-admin/maint/repair.php
در ادامه می توانید دیتابیس خود را بررسی کنید و ببینید چه مشکلی دارد. در پایان تعمیرات حتما قطعه کد درج شده در فایل wp-config.php را حذف کنید تا امکان سوء استفاده افراد غیر مجاز وجود نداشته باشد.
فایلی که به آن اشاره کردیم از جمله مهم ترین فایل های پیکربندی سایت است. تمامی اطلاعات برای برقراری ارتباط بین وب سایت و دیتابیس در این فایل ذخیره می شود. اطلاعاتی مانند نام کاربری، رمز دیتابیس و نام دیتابیس. در صورتی که اطلاعات ذکر شده را تغییر دهید باید محتویات این فایل را نیز به روز رسانی کنید.
پس هنگامی که خطای دیتابیس داشتید در اولین مرحله محتوای فایل wp-config.php را بررسی کنید و ببینید آیا اطلاعات وارد شده صحیح است؟ برای بررسی فایل wp-config.php را باز کنید. به دنبال 4 قطعه کد مشابه قطعه کد زیر باشید.
define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost');
در سطر اول نام دیتابیس، در سطر دوم نام کاربری، در سطر سوم رمز عبور دیتابیس درج شده است. از صحت اطلاعات مطمئن شوید. در صورت عدم تطابق اطلاعات، فایل را ویرایش و اطلاعات درست را وارد کنید.
نکته مهم: در این مثال define('DB_HOST', '');
با localhost
مقداردهی شده اما با توجه به هاست و نوع میزبانی ممکن است متغیر باشد.
چک کردن سایر تنظیمات
گاهی اوقات با بالارفتن ترافیک سایت، توان سرور پاسخگوی نیاز سایت نیست و ممکن است خطا رخ دهد. بنابراین اگر با انجام مراحل ذکر شده به نتیجه نرسیدید، با ارسال تیکت از پشتیابانی میزبانی خود درخواست کمک کنید. برای چک کردن وضعیت SQL سرور خود، می توانید یکی دیگر از سایت های روی سرور را بررسی کنید. اگر وب سایت دقیقا همین خطا را دریافت کرده باشد می توان نتیجه گرفت که مشکل از سوی سرور و کاملا موقتی است. راه حل دیگر این است که:
- از طریق سرویس FTP یا کنترل پنل به هاست خود مراجعه کنید.
- به بخش phpMyAdmin رفته سپس از کادر سمت چپ صفحه، دیتابیس خود را انتخاب کنید.
- مجوزهای کاربری خود را بررسی کنید.
- برای تعیین مجوز می توانید فایلی با نام testconnection.php بسازید.
- قطعه کد زیر را در فایل خود درج کنید.
<?php $link = mysql_connect('localhost', 'root', 'password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
نکته مهم: در قطعه کد بالا به جای root نام کاربری و به جای password رمز عبور خود را درج کنید. سپس به وب سایت خود مراجه کرده و مجددا وضعیت خطا را بررسی کنید. در صورتی که با این کار خطای دیتابیس رفع شود یعنی مجوزهای کاربری با مشکل مواجه بوده است.
جمع بندی نهایی
گاهی اوقات با خطایی مبنی بر عدم برقراری اتصال بین وب سایت و دیتابیس مواجه می شویم. این ارور زمانی رخ می دهد که اشتباه یا تغییری در تنظیمات ایجاد شده باشد. برای رفع خطای دیتابیس باید تمامی اطلاعات دسترسی، تنظیمات فایل پیکربندی سایت و دیتابیس را بررسی کرد. در نهایت با تعمیر دیتابیس، تصحیح اطلاعات دسترسی، تعریف مجوزهای کاربری یا بررسی وضعیت سرور مشکل به طور کامل رفع خواهد شد.
موفق باشید. 🙂