خطا اتصال به دیتابیس وردپرس چیست؟
در برنامه نویسی اصطلاحا یک Connection داریم که با یک Connection String به دیتابیس برقرار می شود. Connection String اطلاعات ضروری برای اتصال آبجکت Connection به بانک اطلاعاتی است. اطلاعات ضروری برای برقراری ارتباط با دیتابیس عبارت است از :
○ نام سرور یا IP سرور که در اتصالات وردپرس در صورتی که سرور دیتابیس و هاست یکی باشد از عبارت localhost استفاده میشود
○ نام دیتابیس یا Database Name
○ یوزرنیم دیتابیس
○ پسورد دیتابیس
خطای Error Establishing Database Connection یا خطا اتصال دیتابیس وردپرس به این معنی است که وردپرس در کدهای خود نمیتواند به دیتابیس وصل شود.
رایج ترین علل وقوع خطا اتصال به دیتابیس وردپرس
علت خطا اتصال دیتابیس وردپرس عبارت است از:
○ حذف شدن دیتابیس از هاست
○ تغییر یافتن اطلاعات دیتابیس یا اشتباه بودن مقادیر مربوط به دیتابیس در فایل wp-config.php
○ ایجاد خطا هنگام تغییر پیشوند جداول وردپرس
○ تغییر سطح دسترسی به فایلهای وردپرس
○ بروز خطا هنگام انتقال وردپرس به دامنه و یا هاست جدید
○ وجود مشکل در سرور یا MySQL هاست
بررسی اطلاعات اتصال به دیتابیس وردپرس در فایل wp-config.php
اولین قدم باید فایل wp-config.php را در پنل هاست در حالت Edit باز کنید و مقادیر مربوط به دیتابیس را کنترل کنید که صحیح باشد، برای اینکار باید در پنل هاست به بخش File Manager بروید، سپس به دایرکتوری public_html بروید و روی فایل wp-config.php راست کلیک کنید و Edit را بزنید. در صفحه بازشده کلید ترکیبی Ctrl +F را بزنید و عبارت
define(‘DB_NAME
را جستجو کنید، تا کدهای زیر را مشاهده کنید:
// ** 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');
باید چک کنید که مقادیر درست باشند.
آسانترین راه کنترل مقادیر اتصال به دیتابیس وردپرس
شاید بگویید چطور بفهمیم آیا مقادیر اتصال به دیتابیس مشکل دارد یا نه؟ خیلی آسان است کافی به پنل هاست بروید ، File Manager را باز کنید و سپس یک فایل به نام dbtest.php در دایرکتوری public_html ایجاد کنید و سپس سورس کد زیر را کپی و در آن پیست کنید:
برای تغییر این متن بر روی دکمه ویرایش کلیک کنید. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
وردپرس برای طراحی سایت نیاز به کد نویسی ندارد، ولی اگر بخواهید قالب سایت خود را اختصاصی تغییر دهید و یا ایرادهای آن را برطرف کنید، به کد نویسی PHP نیاز دارید.
بگذارید یک مثال واقعی برای شما بزنم، قالب قبلی سایت WPersian.com از مارکت معتبر ایرانی خریداری شده بود، در بسیاری از قسمتهای قالب مانند سایت استاتیک با یک CMS برخورد کرده بود، مثلا در قسمت تعداد فروش در المان بنر ، تعداد فروش را باید دستی وارد می کردیم و خود قالب از دیتابیس نمی خواند. به توسعه دهنده قالب تیکت دادیم و گفت باید تا آپدیت بعدی که زمان انتشارش نامشخص است باید صبر کنیم. پس خودم دست به کد شدم و در قسمت مربوط با کمتر از 5 خط کد تعداد فروش را اصلاح کردم که از بانک اطلاعاتی فراخوانی شود.
در بسیاری از موارد توسعه دهنده قالب یا افزونه برای اصلاحات مد نظر شما هزینههای بالا از شما طلب می کنند، لکن پس از این دوره در اکثر موارد خودتان می توانید اصلاحات لازم را بر روی قالب یا افزونه انجام دهید.
برای شرکت در دوره آموزش برنامهنویسی PHP ویژه توسعه وردپرس اینجا کلیک کنید.
اطلاح مقادیر اتصال به دیتابیس وردپرس

فرض کنید که مقادیر فوق اشتباه بود، از کجا بفهمیم نام دیتابیس وردپرس ما چیست ؟ یوزرنیم و پسورد بانک اطلاعاتی وردپرس چیست؟
بسیار آسان است، کافی است به کنترل پنل هاست، سپس مطابق تصویر بالا مراحل را انجام دهید:
1. در cPanel بر روی آیکون MySQL Database در بخش DATABASES کلیک کنید.
2. در بخش Database نام بانک اطلاعاتی را مشاهده میکنید که در فایل wp-config.php بجای database_name_here در خط مربوط به DB_NAME قرار دهید.
3. در بخش Users نام کاربر بانک اطلاعاتی را مشاهده می کنید. این نام را در فایل wp-config.php بجای username_here در خط DB_USER قرار دهید.
4. از آنجایی که رمز عبور را نمی دانیم باید بر روی لینک Change Password کلیک کنید .
5. بعد از تایپ رمز جدید در قسمت password و تکرار آن در Password (Again) بنویسید.
6. بر روی دکمه Change Password کلیک کنید. این رمز عبور در فایل wp-config.php بجای password_here در خط DB_PASSWORD قرار دهید.
با روش آموزش داده شده برای کنترل خطا در فایل dbtest.php نیز می توانید این مقادیر را وارد کنید تا مطمئن شوید که دیگر اشکالی وجود ندارد.
کنترل پیشوند جدول دیتابیس وردپرس
جداول دیتابیس وردپرس معمولا با _wp شروع میشوند، برای کنترل پیشوند باید فایل wp-config.php را در FileManager هاست باز کنید و خط زیر را در آن کنترل کنید، سپس به phpMyAdmin بروید و کنترل کنید که آیا نام جداول دیتابیس شما با همین مقدار شروع شدهاند یا خیر؟ اگر خیر باید مقدار پیشوند را در فایل wp-config.php بروزرسانی کنید:
$table_prefix = 'wp_';
کنترل نام دامنه سایت وردپرس
شما هنگامی که یک سایت وردپرس را از دامنهای به دامنه دیگری منتقل میکنید، باید دامنه سایت را در فایل wp-config.php اصلاح کنید. کافی است خطوط زیر را پیدا کنید و دامنه را اصلاح و ذخیره کنید:
define('WP_HOME','https://wpersian.com');
define('WP_SITEURL','https://wpersian.com');
اگر مشکل حل نشد در پوشه wp-includes ، فایل functions.php را باز کنید و بررسی کنید که دو خط زیر با URL سایت شما موجود باشد، اگر موجود نبود هر دو خط را در زیر خط تگ php?> قرار دهید:
update_option( 'siteurl', 'https://wpersian.com' );
update_option( 'home', 'https://wpersian.com' );
بعد مرورگر را در حالت ناشناس باز کنید، حتما بعد از اجرای سایت ، چه مشکل حل شد و چه نشد دو خط بالا را از فایل functions.php حذف کنید.
تنظیم سطح دسترسی (Permission) فایلها و دایرکتوریها
چون اکثر هاستها بر اساس cPanel هستند، ما در اینجا تنظیم Permission در cPanel را توضیح میدهیم. البته در Direct Admin هم مشابه همین مراحل است. بر روی File Manager کلیک کنید:

ابتدا به پوشهی public-html بروید و سپس مقدار ستون Permission برای تمام فایلها و پوشههای موجود را بررسی کنید و موارد اشتباه را اصلاح کنید. مقدار ستون Permission را به صورت زیر تنظیم کنید (راست کلیک کنید، گزینه Change Permission را انتخاب کنید و مقدار متناسب را تنظیم کنید):
○ برای دایرکتوریها(فولدرها) مقدار 755
○ برای فایلها 644
○ برای اسکریپتهایی cgi مقدار 755

آموزش تعیمر پایگاه داده وردپرس
اگر با راهحلهای بالا مشکل اتصال دیتابیس وردپرس حل نشد، بد نیست که دیتابیس خود را Repair (تعمیر) کنید. برای اینکار فایل wp-config.php را باز کنید و خط زیر را در آن قرار دهید و ذخیره کنید:
define( 'WP_ALLOW_REPAIR', true );
حال آدرس سایت خود را در مرورگر به صورت http://wpersian.com/wp-admin/maint/repair.php بازکنید تا صحه زیر نمایش داده میشود:

هیچکدام از این راهحلها جواب نداد! چکار کنم؟
اگر با راهحلهای بالا مشکل اتصال دیتابیس وردپرس حل نشد، بد نیست که دیتابیس خود را Repair (تعمیر) کنید. برای اینکار فایل wp-config.php را باز کنید و خط زیر را در آن قرار دهید و ذخیره کنید:

برای تغییر این متن بر روی دکمه ویرایش کلیک کنید. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
منابع
○ تجربیات شخصی
○ وب سایت ستاپ
دیدگاهی ثبت نشده است