رفع مشکل خطای اتصال به پایگاه داده در وردپرس
یکی از مشکلاتی که گاها در وردپرس با آن مواجه هستیم مشکل خطای اتصال به پایگاه داده یا دیتابیس وردپرس است. این خطا وقتی ایجاد شود ارتباطی بین وردپرس و پایگاه داده متصل به آن وجود ندارد و برای همین هیچ محتوایی از نوشتهها، برگهها و سایر صفحاتی که با استفاده از وردپرس ساخته شدهاند وجود ندارد.
برای رفع این مشکل باید ارتباط بین وردپرس و پایگاه داده مجددا برقرار شود. حالا این مشکل میتواند از تغییرات در سرور میزبان رخ داده باشد یا اینکه خود شما اقدام به تغییراتی در فایلها کردید که این مشکل رخ داده است.
در ادامه این مقاله به بررسی کامل نحوه برطرف کردن خطا در برقراری ارتباط با پایگاه داده وردپرس پرداخته و روشهایی که برای رفع خطا وجود دارند را به شما معرفی میکنم. پس تا پایان با ما همراه باشید.
راهنمای کامل رفع مشکل خطا در برقراری ارتباط با پایگاه داده
دلایل مختلفی برای به وجود آمدن خطای ارتباط با پایگاه داده وردپرس وجود دارند که رایجترین آنها شامل موارد زیر هستند:
- اطلاعات نادرست دیتابیس در فایل wp-config.php
- از کار افتادن پایگاه داده mySQL
- حذف شدن اطلاعات از پایگاه داده یا خود دیتابیس
- تغییر در سطح دسترسی فایلها و پوشههای وردپرس
- وارد کردن اطلاعات نادرست هنگام انتقال سایت به هاست جدید یا تغییر دامنه
- آپدیتهایی که روی سرور برای نسخه پایگاه داده هاست انجام میگیرد
به هر یک از دلایل فوق که با خطای ارتباط با پایگاه داده وردپرس مواجه شده باشید، لازم است تک تک فایلها و مواردی که در ایجاد ارتباط وردپرس با پایگاه داده نقش دارند را بررسی کنید تا خطا را رفع کنید.
اصلا پایگاه دادهای وجود دارد؟
ممکن است خطا به این دلیل که اطلاعات دیتابیس شما لو رفته و توسط فردی دیتابیس به صورت کامل پاک شده باشد ایجاد شده است. قبل از هر چیزی وارد هاست سی پنل یا دایرکت ادمین خود شده و از منویی که برای phpmyadmin وجود دارد بررسی کنید که آیا دیتابیس شما که در اینجا وجود دارد شامل کلیهی جداول مربوط به وردپرس است یا نه؟
اگر پایگاه داده و جدوال موجود در آن پاک شده باشد مجبور هستید که آخرین نسخه بکاپی که از دیتابیس دارید را ریستور کنید یا اینکه از شرکت هاستینگ بخواهید که آخرین نسخه موجود را که معمولا از نسخهای که خود ما بکاپ گرفتیم جدیدتر است را ریستور کنند تا مشکل برطرف شود.
پایگاه داده هاست را بررسی کنید
اصلا نیازی به دستپاچه شدن نیست و اولین کاری که باید انجام دهید بررسی این است که آیا اصلا پایگاه داده mySQL یا mariaDB هاست به درستی کار میکند یا نه؟
در بسیاری از مواقع شرکتها هاستینگ در حال آپدیت نسخه پایگاه داده هستند که روشن است در چنین لحظاتی ارتباط با پایگاه داده قطع شده و در وردپرس با چنین خطایی مواجه خواهیم شد. پس کاری که باید بکنید این است که از این موضوع مطمئن شوید. برای این منظور میتوانید به شیوهی زیر عمل کنید.
وارد هاست خود شده و با انتخاب File Manager وارد مسیر public_html شده و سپس فایلی با نام dbtest.php را در روت اصلی هاست خود بسازید. سپس کدهای php زیر را درون فایل قرار داده و ذخیره کنید.
<?php $link = mysql_connect('localhost', 'database_username', 'database_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
حال همانطور که در قطعه کد بالا میبینید به جای database_username نام دیتابیس و به جای database_password رمز دیتابیس وردپرس را وارد کنید. اگر این اطلاعات را فراموش کردید، میتوانید از فایل wp-config.php آنها را پیدا کنید که در روش سوم آن را توضیح دادم.
حالا بعد از ذخیره فایل بعد از آدرس دامنه خود نام فایل را در آدرس مرورگر وارد کرده و Enter را بفشارید. در این صورت آدرس شما چیزی مثل https://serverpower.ir/dbtest.php خواهد بود. در صورتی که با باز کردن این آدرس پیغام Connected successfully نمایش داده شد مشکلی در پایگاه داده وجود نداشته و باید راهکارهای بعدی را تست کنید. اما اگر پیغام Could not connect: نمایش داده شد، به این معنی است که پایگاه داده هاست مشکل دارد. در این حالت میتوانید به هاستینگ این موضوع را اطلاع داده یا اینکه منتظر بمانید اگر مشکل بخاطر آپدیت پایگاه داده رخ داده، آپدیت به پایان برسد.
سطح دسترسی فایلها و پوشهها را بررسی کنید
همانطور که میدانید برای اینکه بتوانید وردپرس را اجرا کنیم نیاز به سه چیز داریم:
- دامنه یا لوکال سیستم عامل
- سرور میزبانی یا لوکال هاست
- مفسرهای php و پایگاه داده
اگر گزینهی اول را کنار بگذاریم درواقع برای اجرای وردپرس نیاز به فضای میزبانی داریم که فایلهای این اسکریپت که شامل زبان برنامه نویسی php هستند در جایی اجرا شده و اطلاعات را از طریق دیتابیس پردازش و نمایش دهند. بنابراین در صورتی که سطح دسترسی برخی فایلهای مهم مثل wp-config.php تغییر کند ارتباط بین فایلها و دیتابیس از بین رفته و در نهایت با ارور خطای اتصال به پایگاه داده در وردپرس مواجه خواهیم شد.
بنابراین اگر اخیرا اقدام به آپدیت وردپرس کردید یا اینکه اقدام به تغییر هاست خود دادید که ارور اتصال به دیتابیس وردپرس رخ داده لازم است سطح دسترسی پوشهها و فایلها را بررسی کنید.
برای انجام این کار کافی است وارد هاست خود شده و به مسیر public_html در منوی file manager هاست وارد شوید. در این مسیر پوشهها و فایلهایی را مشابه تصویر زیر میبینید که هر کدام در ستون permissions دارای یک عدد ۴ رقمی هستند که با صفر آغاز شده است. این اعداد سطح دسترسی را برای کاربر، گروهی از افراد و حالت عمومی مشخص میکنند.
در صورتی که از وردپرس استفاده میکنید این اعداد باید برای پوشهها روی مقدار 0755 و برای فایلهای php وردپرس روی 0644 قرار داشته باشند. پس تک تک فایلهایی که در مسیر اصلی public_html برای وردپرس قرار دارد و همچنین فایلهایی که داخل پوشههای wp-content، wp-admin و wp-includes میبینید را باید بررسی کرده و سطح دسترسی را با انتخاب گزینه change permissions به مقدار درست آن تغییر دهید.
همانطور که در تصویر بالا میبینید کافی است با فعال یا غیر فعال کردن تیک گزینههایی که در هر ستون و ردیف قسمت زرد رنگ قرار دارد، به عدد نهایی که در مقابل permission نمایش داده میشود نگاه کنید و عدد درست را برای فایلها اعمال کنید.
فایل wp-config.php وردپرس را بررسی کنید
همانطور که میدانید هنگام نصب وردپرس اطلاعات پایگاه داده که شامل موارد زیر هستند را وقتی وارد میکنیم، درواقع در حال ساخت و ویرایش فایل wp-config.php هستیم که این اطلاعات در آن وارد میشود.
- database_name_here: نام دیتابیس وردپرس
- username_here: نام کاربری دیتابیس وردپرس
- password_here: رمز دیتابیس وردپرس
این اطلاعات به ترتیب طبق قطعه کد زیر در این فایل قرار دارند که اگر فایل کانفیگ وردپرس را باز کنید آنها را میتوانید ببینید.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'database_name_here'); /** MySQL database username */ define('DB_USER', 'username_here'); /** MySQL database password */ define('DB_PASSWORD', 'password_here'); /** MySQL hostname */ define('DB_HOST', 'localhost');
حال اگر به هر دلیلی خطایی در مقادیر این اطلاعات وجود داشته باشد و یکی از کاراکترها تغییر کند، ارتباط بین دیتابیس وردپرس از بین رفته و با خطای ارتباط با پایگاه داده وردپرس مواجه خواهیم شد. برای رفع خطا در این حالت کافی است که اطلاعات صحیح دیتابیس را وارد کنید.
ممکن است که اطلاعات دیتابیس را فراموش کرده باشید که در این حالت باید از طریق phpmyadmin هاست از دیتابیس خود یک خروجی(Export) تهیه کرده و سپس بعد از اینکه یک دیتابیس جدید ساختید، فایل sql. خروجی گرفته شده را از طریق درون ریزی دیتابیس(import) که در همان phpmyadmin قرار دارد درون ریزی کنید.
خطای پایگاه داده هنگام نصب وردپرس یا تغییر دامنه رخ داده؟
گاهی اوقات در همان ابتدای کار نصب وردپرس ممکن است اطلاعاتی از دامنه را اشتباها وارد کرده باشید که این خطا رخ داده باشد. یا اینکه اگر قصد تغییر دامنه دارید، کارهایی که برای تغییر دامنه در وردپرس وجود دارند را به درستی انجام نداده و مشکل ایجاد شده باشد.
همانطور که میدانید برای تغییر دامنه در وردپرس باید ابتدا دامنه جدید را در بخش تنظیمات عمومی وردپرس وارد کنید. یا اینکه اگر از اینجا اقدام به تغییر دامنه نکردید، آن را از طریق phpmyadmin هاست به دامنههای جدید تغییر دهید. پس اگر با این خطا هنگام تغییر دامنه مواجه شدید، میتوانید از روش زیر برای رفع خطا کمک بگیرید.
وارد هاست خود شده و بعد از کلیک روی گزینه file manager به مسیر public_html مراجعه کنید. در جایی که وردپرس نصب شده به دنبال فایل wp-config.php بگردید و سپس کدهای زیر را در مکان مناسبی از این فایل اضافه کنید.
define('WP_HOME','http://your-site.com'); define('WP_SITEURL','http://your-site.com');
فراموش نکنید که به جای http://your-site.com که در دو خط کد بالا میبینید آدرس دامنه خود را همراه با پروتکل مناسب HTTP یا HTTPS انتخاب کرده و در صورتی که از www در پیوند یکتای سایت خود استفاده میکنید، حتما آن را نیز وارد کنید. سپس مجددا تست کرده و بررسی کنید که آیا باز خطای اتصال به پایگاه داده وردپرس وجود دارد یا رفع شده است.
در صورتی که مشکل همچنان پابرجا بود این بار در public_html هاست و در مسیری که وردپرس نصب شده وارد پوشه wp-includes شده و کدهای زیر را به فایل functions.php این پوشه اضافه کنید(البته قبل از اضافه کردن چک کنید که اگر این کدها وجود دارند صرفا آنها را بررسی و با قطعه کد زیر مطابقت دهید).
update_option( 'siteurl', 'http://your-site.com' ); update_option( 'home', 'http://your-site.com' );
مشابه نمونه کد قبلی در اینجا هم لازم است که به جای http://your-site.com که در دو خط کد بالا میبینید آدرس دامنه خود را همراه با پروتکل مناسب HTTP یا HTTPS انتخاب کرده و در صورتی که از www در پیوند یکتای سایت خود استفاده میکنید، حتما آن را نیز وارد کنید.
بعد از اینکه دو فایل را طبق کدهایی که قرار دادم ویرایش کردید، چه در حالتی که مشکل رفع شد و چه در حالی که همچنان مشکل اتصال به دیتابیس وردپرس وجود دارد، این کدها را حذف کرده و فایلها را به حالت قبل برگردانید.
دیتابیس وردپرس را تعمیر کنید
در برخی مواقع ما دیتابیس حجیمی داریم که با توجه به منابعی که شرکت هاست در اختیار ما قرار داده، به خوبی قادر به پردازش اطلاعات نیست و در ترافیک سنگین ممکن است که اتصال دیتابیس از بین رفته و با خطای برقراری ارتباط با پایگاه داده مواجه شویم.
معمولا در چنین مواقعی با تعمیر کردن یا همان Repair دیتابیس میتوانید یک بهینه سازی موقت روی پایگاه داده داشته باشید و آن را رفع کنید. اما بعد از رفع مشکل پیشنهاد میکنم حتما از یک توسعه دهنده کمک بگیرید تا دیتابیس شما را به صورت کامل بهینه سازی کند. حال برای رفع مشکل ابتدا قطعه کد زیر را در فایل wp-config.php که در مسیر public_html یا مسیر نصب وردپرس در پوشه دیگری قرار دارد اضافه کنید.
define('WP_ALLOW_REPAIR', true);
سپس بعد از آدرس دامنه خود مقدار wp-admin/maint/repair.php را قرار دهید. در این حالت آدرس دامنه شما چیزی مثلhttps://serverpower.ir/wp-admin/maint/repair.php خواهد بود. در این صورت با صفحهای مشابه تصویر زیر مواجه میشوید که در این مرحله باید روی دکمهی تعمیر پایگاه داده کلیک کنید.
در این صورت چند لحظه که منتظر بمانید، بسته به بزرگی دیتابیس شما کلیه جداول یکی یکی بررسی شده و در مقابل آن نیز سالم بودن یا نبودن آنها نمایش داده میشود. پس از اتمام کار دیتابیس در هر جدولی که دارای مشکل باشد تعمیر خواهد شد.
ارور اتصال به دیتابیس وردپرس در بسته نصب آسان
برخی اوقات که از بسته نصب آسان برای ساخت سایت استفاده میکنید تا بر اساس دموی قالب سایت خود را سریعتر راهاندازی کنید یا اینکه طراحی خود را در لوکال هاست انجام دادید و حالا به کمک بسته آسان آن را به هاست منتقل میکنید این خطا رخ میدهد.
همانطور که در روشهای قبلی ذکر کردم، موارد مختلفی در ایجاد ارتباط بین پایگاه داده هاست و وردپرس نقش دارند که ایجاد یک تغییر کوچک در حد یک کاراکتر میتواند این ارتباط را از بین ببرد. وقتی بسته نصب آسان استفاده کردید باید روشهایی که برای اطلاعات درست در فایل wp-config.php وجود دارد را بررسی کنید؛ چرا که بیشترین دلیل مربوط به وارد کردن اطلاعات نادرست دیتابیس است.
از پشتیبانی شرکت هاستینگ کمک بگیرید
در صورتی که به کمک روشهای هفت گانه فوق موفق به رفع خطای اتصال به پایگاه داده وردپرس نشدید، با شرکت هاستینگ خود تماس بگیرید تا با توجه به سطح دسترسی که دارند باقی موارد را بررسی کرده و مشکل را برطرف کنند.
جمع بندی
در این مقاله به نحوه برطرف کردن مشکل اتصال به پایگاه داده وردپرس پرداخته و دلایلی که باعث میشوند ارتباط بین فایلهای موجود در وردپرس با پایگاه داده از بین بروند پرداختم. با بررسی هر یک از راههای ارتباط سعی کردیم به نحوه برطرف کردن خطا پرداخته و روشهایی که برای ایجاد دوباره ارتباط پایگاه داده وجود دارد بپردازیم.