رفع مشکل اتصال به پایگاه داده وردپرس
این خطا به دلایل گوناگونی در سایت رخ میدهد که باعث آزردگی بازدیدکنندگان و همچنین بروز مشکلات جدی در سئو سایت نیز میشود که دلیل آن عدم برقراری ارتباط فایلهای وردپرس شماست که با زبان PHP نوشته شدند و قادر به ایجاد ارتباط با پایگاه داده سایت شما نیستند بنابراین نمی توانندد اطلاعات رو به شما نمایش دهند و چیزی جز یک پیغام خطا تحت عنوان error establishing a database connection به شما نمایش داده نخواهد شد. برای رفع این خطا راههای گوناگونی از بررسی فایلهای وردپرس و تست اطلاعات اتصال به وردپرس گرفته تا تعمیر دیتابیس وجود داره که به ترتیب باید هر یک از اونها را انجام بدهید تا بتوانید نسبت به رفع خطای اتصال به پایگاه داده وردپرس اقدام کنید. در ذیل به چند مورد اشاره شده:
- حذف کلی دیتابیس سایت
- اشتباه بودن اطلاعات لاگین دیتابیس
- تغییر در اطلاعات دیتابیس و اشتباه بودن اطلاعات در فایل wp-config.php
- ایجاد خطا هنگام تغییر پیشوند جداول وردپرس
- تغییر سطح دسترسی به فایلهای وردپرس
- بروز خطا هنگام انتقال وردپرس به دامنه و یا هاست جدید
- بیشترین دلیل بروز این خطا مشکل در سمت سرور میباشد
- و…
بررسی اطلاعات دیتابیس وردپرس
فایل wp-config.php به طور قطع تنها فایل بسیار مهم در کل پروسه نصب وردپرس میباشد. این فایل تنها جایی است که شما اطلاعات دیتابیس خود را جهت اتصال به وردپرس در آن وارد میکنید، اگر به هر دلیلی اطلاعات root پسورد و یا یوزر دیتابیس رو تغییر بدید باید این تغییرات را در فایل کانفیگ وردپرس اعمال کنید.
در برخی از هاست های رایگان باید به جای استفاده از localhost آدرس سرور mysql را وارد کنید که این مورد را باید از پشتیبانی هاست خود سوال کنید. بنا به گزارش برخی کاربران افرادی که وردپرس را در کامپیوتر شخصی خود توسط نرم افزار هایی مانند MAMP استفاده می کنند با استفاده از آی پی به جای لوکال هاست مشکل آنها رفع می شود.
در بسیاری از موارد دلیل رخ دادن مشکل خطا در برقراری ارتباط با پایگاه داده در وردپرس ضعف در پاسخگویی به درخواستهای زیاد در مواقعی که لود وب سایت شما به دلیل بازدید زیاد کاربران افزایش پیدا کرده است. این مشکل از ضعف میزبان وب سایت شما در کانفیگ سرور و به خصوص کانفیگ پایگاه داده Mysql میباشد. در این مورد راه حلی که خود شما بتوانید مشکل را رفع کنید وجود ندارد، برای رفع این مشکل باید با هاستینگ خود تماس گرفته و آنها را در جریان ضعف موجود قرار دهید و از آنها درخواست پشتیبانی و کمک برای این مشکل را داشته باشید. البته در مواقعی حملات تکذیب سرویس از سمت هکرها به سوی وب سایت شما باعث ایجاد اختلال در اتصال به پایگاه داده ایجاد کرده و شما با خطای مربوطه روبرو میشوید. برای رفع این مشکل ابتدا باید حمله به سمت وب سایت خود را دفع کرده و یکبار دیتابیس سایت خود را Repair نمایید.
در اولین گام باید وارد هاست خودتون شده و سپس به قسمت File Manager هاست مراجعه کنید، بعد از این مرحله به مسیری که وردپرس را نصب کردهاید مراجعه کنید(معمولاً public_html که روت اصلی سایت میباشد) سپس در اینجا فایلی با نام wp-config.php را خواهید دید، اگر از هاست سیپنل استفاده میکنید روی اون راست کلیک کرده و گزینه Edit را برای ویرایش انتخاب کنید و اگر از هاست دایرکت ادمین استفاده میکنید روی دکمه Edit که در مقابل نام فایل قرار دارد کلیک کنید تا صفحه ویرایش و بررسی فایل کانفیگ وردپرس برای شما باز شود. در این فایل اطلاعات دیتابیس قرار میگیرند که وظیفه این فایل ایجاد ارتباط با پایگاه داده MySql می باشد، پس درون فایل به دنبال کد زیر بگردید:
// ** 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’);
حالا در اطلاعات بالا که به ترتیب شامل موارد زیر هستند باید بررسی کنید که به درستی وارد شده باشند و هر یک از اطلاعات بالا را با اطلاعاتی که هنگام ساخت دیتابیس وارد کردید مطابقت دهید.
- database_name_here: در این قسمت باید نام دیتابیس وارد شده باشد که هنگام ساخت دیتابیس در زمان نصب وردپرس ایجاد کردید.
- username_here: در این قسمت باید نام کاربری دیتابیس را وارد کرده باشید که هنگام ساخت پایگاه داده وردپرس در زمان نصب وردپرس تعیین کردید.
- password_here: در این قسمت هم باید رمز پایگاه داده وردپرس که هنگام نصب وردپرس برای دیتابیس خودتون تعیین کردید را وارد کنید.
حالا برای اینکه هر یک از اطلاعات بالا را با دیتابیس خود چک کنید و مطابقت بدید وارد صفحه اصلی هاست خودتون شوید اگر که کنترل پنل هاست شما سیپنل هست به قسمت DATABASES مراجعه کنید و سپس روی گزینه MySql Database کلیک کنید تا به صفحه مشاهده دیتابیسهای ساخته شده هدایت شوید.
حالا وارد صفحه زیر خواهید شد که در اون میتونید اطلاعات دیتابیس همچون نام دیتابیس، نام کاربری دیتابیس و یوزر انتخاب شده برای دیتابیس را هم چک کنید و که کاربر انتخابی برای دیتابیس به درستی وارد شده است یا نه، که در صورت اشتباه بودن اونها را اصلاح کنید.
حالا اگر نام دیتابیس و نام کاربری به درستی وارد شده است اما رمز دیتابیس رو شک دارید که درست است یا خیر، ابتدا روی Change Password کلیک کنید تا به صفحه تغییر رمز دیتابیس وارد شده و سپس مشابه چیزی که در تصویر مشاهده میکنید در دو فیلد password و password again رمز مورد نظر را وارد کرده و روی دکمه change password کلیک کنید تا رمز شما تغییر داده شود.
حالا به ویرایش فایل wp-config.php مراجعه کنید و در قسمت DB_PASSWORD که برای رمز پایگاه داده وردپرس می باشد به جای رمز قبلی دیتابیس رمز جدید را وارد کرده و فایل را ذخیره کنید. حالا سایت را باز کنید و ببینید که آیا مشکل برطرف شده است یا خیر، در صورتی که مشکل همچنان برقرار بود بررسی کنید اتصال دیتابیس برقرار است یا خیر؟!
تست اطلاعات اتصال به دیتابیس وردپرس
برای اینکه اطمینان حاصل کنید مشکل از دیتابیس هست یا نه ابتدا وارد File Manager هاست شده و سپس یک فایل در مسیر اصلی سایت یعنی public_html با نام testdb.php بسازید و کد زیر را درون فایل مورد نظر قرار داده و ذخیره کنید.
<?php
$link = mysql_connect(‘your_hostname’, ‘database_username’, ‘database_password’);
if (!$link) {
die(‘Could not connect: ‘ . mysql_error());
}
echo ‘Connected successfully’;
mysql_close($link);
?>
در این مرحله آدرس دامنه خود را وارد کرده و سپس نام فایل را وارد کنید تا صفحه مورد نظر برای شما باز شود، به عنوان مثال http://sitename.com/checkdb.php حالا به جای نام دامنه آدرس سایت خودتون را وارد کنید، در نهایت بعد از باز شدن صفحه اگر با پیغام Connected successfully مواجه شدید باطلاعات دیتابیس شدید بدان معناست که اطلاعات دیتابیس به درستی وارد شده است.
بررسی پیشوند جداول وردپرس
گاهی اوقات پیش میاید که اطلاعات وارد شده در فایل wp-config.php درست باشند اما پیشوند جداول در اون به اشتباه وارد شده باشد که این مورد هنگام تغییر پیشوند جداول وردپرس معمولاً رخ خواهد داد. بنابراین در فایل wp-config.php کمی به سمت پایین اسکرول کرده و به دنبال عبارت زیر بگردید.
table_prefix = ‘wp_’;
عبارت wp_ در کد بالا که معرف پیشوند جداول دیتابیس شما است باید به درستی وارد شده باشد. بنابراین اگر از یک افزونه امنیتی استفاده کردید و پیشوند جداول وردپرس را تغییر دادین، پیشوند صحیح را در کد بالا جایگزین عبارت wp_ کرده و تغییرات را ذخیره کنید. حالا مجدداً چندبار سایت را refresh کنید تا ببینید مشکل برطرف شده یا خیر.
اصلاح آدرس سایت در صورت انتقال و یا تغییر دامنه
گاهیی اوقات خطای اتصال به پایگاه داده وردپرس هنگام تغییر آدرس سایت رخ میدهد که در اون اطلاعات دامنه قبلی همچنان برای سایت ثبت شدهاند. برای رفع این مشکل مجدداً فایل wp-config.php را باز کرده و در اون به دنبال قطعه کد زیر بگردید.
define(‘WP_HOME’,’http://your-site.com’);
define(‘WP_SITEURL’,’http://your-site.com’);
حالا اگر که این دو خط را پیدا کردید چک کنید که نام دامنه در هر دو خط به درستی وارد شده باشد، اما اگر این دو خط را پیدا نکردید خودتون با قرار دادن کدهای فوق در فایل wp-config.php این بخش را اضافه کرده و فایل را ذخیره کنید. حالا سایت را باز کرده و چند بار refresh کنید و چک کنید که مشکل برطرف شده است یا خیر؟!
اگر همچنان مشکل باقی بود به سراغ پوشه wp-includes در هاست خود بروید و فایل functions.php را در آن پیدا کنید و بررسی کنید که آیا دو خط زیر را در آن وجود دارند یا خیر؟!
update_option( ‘siteurl’, <span style=”color: #008000;”>’http://your-site.com'</span> );
update_option( ‘home’, ‘http://your-site.com’ );
اگر این دو خط وجود داشتند آدرس موجود در اونها را با آدرس دامنه خود چک کنید که به درستی وارد شده باشند، اما اگر وجود نداشتند میتوانید تا با قرار دادن این دو خط دقیقاً بعد از خط اول که با <?php شروع شده اضافه کنید و مجدداً سایت را چندبار refresh کنید تا ببینید مشکل برطرف شده است یا خیر، همچنین دقت کنید آدرسهایی که وارد میکنید در استفاده از www در وردپرس یا http و https به درستی وارد شده باشند و سایت خودتون را هم که برای بررسی مجدد refresh میکنید دقیقاً با چنین آدرسی باز کرده باشید.
در نهایت بعد از اینکه این دو کار را بر روی فایل wp-config.php و functions.php انجام دادید، چه مشکل شما برطرف شد و چه همچنان مشکل باقی بود این دو خط کد را باید از این دو فایل حذف کنید.
بررسی و اصلاح سطح دسترسی فایلهای وردپرس
گاهی اوقات مشکل به دلیل تغییر سطح دسترسی به فایلهای وردپرس رخ میدهد، به عبارت دیگه فایلهای PHP وردپرس که کدهای برنامهنویسی در اون قرار دارند به دلیل تنظیم نبودن سطح دسترسی مجاز ارتباط اونها با دیتابیس برقرار نشده و به همین دلیل با چنین خطایی مواجه خواهید شد. برای اینکه بررسی کنید سطح دسترسی برای فایلها و پوشههای وردپرس به درستی انتخاب شدهاند باید فایلهای و پوشههای وردپرس در بخش File Manager هاست که در مسیر public_html قرار دارند دارای سطح دسترسی زیر باشند.
- سطح دسترسی برای فایلهای وردپرس معادل ۶۴۴ باشد.
- سطح دسترسی برای پوشههای وردپرس معادل ۷۵۵ باشد.
جهت کسب اطلاعات بیشتر در این زمینه آموزش نحوه تغییر سطح دسترسی فایل ها و پوشه ها در سی پنل را مشاهده کنید، حالا تمامی پوشهها و فایلهای وردپرس را بررسی کنید تا دارای چنین سطح دسترسی باشند.
تعمیر پایگاه داده وردپرس
اگر مشکل شما همچنان پا برجاست احتمالاً دیتابیس شما نیاز به کمی تعمیرات داره بنابراین برای تعمیر و آماده سازی دیتابیس وردپرس ابتدا فایل wp-config.php را باز کرده و قطعه کد زیر را در مکان مناسبی از اون قرار بدهید.
define( ‘WP_ALLOW_REPAIR’, true );
سپس تغییرات را با ذخیره کردن فایل اعمال کرده و سپس آدرس سایتتون را مشابه نمونه زیر وارد کنید.
http://your-site.com/wp-admin/maint/repair.php
حالا وارد آدرس فوق شوید و اون را باز کنید مشابه تصویر زیر صفحهای به شما نمایش داده خواهد شد.
حالا روی دکمه تعمیر پایگاه داده کلیک کرده و منتظر بمانید تا عملیات تعمیر دیتابیس به انتها برسد. بعد از اینکه عملیات تعمیر دیتابیس انجام گرفت مجدداً به فایل wp-config.php برگردید و کدی که برای استفاده از حالت تعمیر وردپرس به اون اضافه کردید را ازش برداشته و فایل را ذخیره کنید، حالا مجدداً سایت را باز کنید و چندین بار refresh کنید تا چک کنید مشکل برطرف شده است یا خیر، در صورتی که همچنان مشکل پا برجا بود به راهکار نهایی میرسیم یعنی ارسال تیکت، به میزبانی هاست مراجعه کرده و مشکل و راهکارهایی که برای حل مشکل طی کردید به میزبان هاست خود بگویید بخواهید تا یک بار هاست رو مورد بررسی قرار بدهند تا اگر مشکل از هاست شما هست اونو برطرف کنند.
درباره Mostafa Shoa
مدیر تیم پارس نویس، کارشناس مهندسی نرم افزار، مدرس دوره های برنامه نویسی و طراحی سایت در مدارس تیزهوشان، مشاور تبلیغات و بازاریابی استارتاپ ها و کسب و کارهای اینترنتی
نوشته های بیشتر از Mostafa Shoa
دیدگاهتان را بنویسید