هنگام گشت و گذرا در وب شاید با خطاهایی در مدت زمان کوتاهی روبرو شوید. .خطای ارتباط با پایگاه داده یکی از خطاهایی است که ممکن است به هر دلیلی رخ دهد. در این مقاله ما شما را با چگونگی رفع خطای اتصال به پایگاه داده در ورد پرس و لیستی از راه حل های آن آشنا خواهیم کرد.
چرا این اتفاق رخ می دهد؟
خب اگر در کوتاه مدت شما با این خطا مواجه می شوید دلیلش این است که قالب وردپرس نمی تواند با پایگاه داده ارتباط برقرار کند. دلیل های این که چرا قالب ورد پرس نمی تواند ارتباط با پایگاه داده را سازماندهی کند متفاوت می باشد. یکی از دلایل می تواند این باشد که پارامترهای اعتباری ورود به پایگاه داده اشتباه وارد می شود یا تغییر کرده باشد. یک دلیل دیگر در دسترس نبودن سرور پایگاه داده می باشد. یک دلیل دیگر خرابی پایگاه داده می باشد. براساس تجربه ما بیشتر اوقات خطاهایی که رخ می دهد از مرتب سازی سرور است با این حال ممکن است دلایل دیگری هم داشته باشد.
اجازه دهید تا نگاهی بیاندازیم که چطور این خطاها را برطرف کنیم.
آیا این مشکل برای /wp-admin/ رخ می دهد؟
اول چیزی که باید مطمئن شوید این است که خطا در هر دو حالت front-end و end-back رخ داده است. اگر پیغام خطا در هر دو صفحه، “خطا در اتصال به پایگاه داده“ بود به مرحله بعدی بروید. اگر پیغام خطا روی wp-admin پیامی به عنوان مثال “One or more database tables are unavailable. The database may need to be repaired ” آن هنگام پایگاه داده شما نیاز به تعمیر دارد.شما می توانید این را با اضافه کردن این خط به فایل wp-config.php انجام دهید. فقط اینکه قبل از این کار ویرایش را متوقف کنید.
[php]
define(‘WP_ALLOW_REPAIR’, true);
[/php]
هنگامی که این کاررا انجام دهید می توانید تنظیمات را از این صفحه مشاهده کنید:
به یاد داشته باشید که وقتی این تعریف تنظیم شود نیازی نیست کاربر در انجمن حضور داشته باشد. هدف اصلی تعمیر پایگاه داده خراب است اغلب کاربران با پایگاه داده خراب نیز می توانند وارد شوند. هنگامی که تعمیر و بهینه سازی پایگاه داده شما صورت گرفت این پیام را از فایل wp-config.php حذف کنید.اگر این مشکل حل نشد و شما هنگام راه اندارزی مشکل داشتید خواندن ادامه مقاله راه حل های دیگری پیشنهاد می کند.
فایل wp-config را چک کنید.
Wp-config.php تنهاترین فایل مهم در نصب وردپرس می باشد. این فایلی است که جزئیات را برای ارتباط با پایگاه داده مشخص می کند.اگر شما رمزعبور اصلی یا رمز عبور کاربر را تغییر دهید نیاز هست که در این فایل هم تغییراتی ایجاد کنید. اولین مواردی که باید در فایل wp-config.php چک کنید که یکسان باشد.
[php]
efine(‘DB_NAME’, ’database-named’);
define(‘DB_USER’, ’database-username’);
define(‘DB_PASSWORD’, ’database-password’);
define(‘DB_HOST’, ’localhost’);
[/php]
به یاد داشته باشید مقدارDB-HOST همیشه localhost نیست بسته به نوع میزبان ممکن است متفاوت باشد. میزبان های محبوب مثل HostGator, BlueHost, Site5 وجود دارد.
بعضی افراد مشکلشان را با جایگزین کردن localhost با آدرس IP رفع می کنند. این مشکل معمولا وقتی که وردپرس را روی سرور محلی اجرا می کنیم رخ می دهد. برای مثال روی MAMP مقدار DB-HOST به مقدار IP تغییر کند ممکن است به نظر برسد که کار کند.
[php]
define(‘DB_HOST’, ‘127.0.0.1:8889’);
[/php]
IP برای خدمات آنلاین وب متفاوت است. اگر همه چیز در این فایل درست است منصفانه است که بگوییم مشکل از سرور می باشد.
میزبان وب خود را چک کنید(MYSQL SERVER )
این مشکل زمانی رخ می دهد که سایت شما با مقدار زیادی ترافیک همراه می شود. در واقع میزبان سرور شما نمی تواند راه اندازی شود. (مخصوصا زمانی که سروز میزبان اشتراکی باشد.) سایت ممکن است اهسته و برای بعضی کاربران خطا رخ دهد. .بنابراین بهترین راهکار تماس یا برقرای گفتگوی زنده با پشتیبان میزبان است و اگر سرور MYSQL در دسترس باشد می توانید سوال کنید.
برای آن دسته از کاربرانی که خودشان سرور MYSQL را راه اندازی کرده اند چند کار را باید انجام دهند. سایت های دیگر را روی همان سرور آزمایش کنند اگر باز هم دچار خطا شد مشکل از سرور MYSQL است ولی اگر مشکلی نداشتید به صفحه تنظیمات رفته و سعی کنید بهphpMyAdmin دسترسی پیدا کنید و با پایگاه داده ارتباط برقرار کنید. برای دسترسی به پایگاه داده نیاز هست تا بررسی کنیم کاربر اجازه دسترسی به پایگاه داده را داشته باشد. یک فایل جدید به نام testconnection.php ایجاد کنید و کدهای زیر را در آن قرار دهید:
[php]
?php>
$link = mysql_connect(‘localhost’, ‘root’, ‘password’);
if (!$link) {
die(‘Could not connect: ‘ . mysql_error();
}
echo ‘Connected successfully’;
mysql_close($link);
?>
[/php]
دیپاک میتل : یکی از سرویس گیرنده هایش با خطای نیاز به تعمیر پایگاه داده روبرو شده ولی با تعمیر آن باز هم مشکل وجود داشت.او چیزهای مختلفی را امتحان کرد و در آخر مشکل از آدرس سایت بوده که آدرس ظاهر تغییر یافته بود و باعث شده بود همچین خطایی رخ دهد.شناسه و رمز عبور را جایگزین کنید اگر اتصال برقرار شد یعنی کاربر اجازه کافی دارد و مشکل از چیز دیگری است. به فایل WP-CONFIG برگردید و مطمئن شوید همه چیز درست است.(غلط های املای چک کنید)
اگر شما با رفتن به phpMyAdmin نمی توانید به پایگاه داده متصل شوید آنگاه شما متوجه می شوید مشکل از سرور می باشد. این لزوما به این معنی نیست که مشکل از سرورMySql می باشد یا سرور از کارافتاده شاید کاربر مجوز ندارد.
در حالتی برای ما سرور در حال اجرا بود و همه سایتها روی سرور به خوبی کار می کردند به جز WpBeginer که کار نمی کرد بعد از سعی و تلاش برای اتصال به phpMyAdmin به یک خطایی رسیدیم:
#1045 – Access denied for user ‘foo’@’%’ (using password: YES)
ما برروی گوشی و با HOSTGATOR و پشتیبانش به سرعت مشکل را حل کردیم به نحوی مجوز کاربر دوباره تنظیم شد. مطمئن نیستیم که چگونه اتفاق افتاده ولی به ظاهر که دلیلش همان بود.آنها مجوزها را برگرداندند و ما توانستیم به سایت دسترسی پیدا کنیم.
بنابراین اگر شما با خطای عدم دسترسی و ارتباط به phpMyAdmin و testconnection.php مواجه شدید انگاه شما با میزبانتان تماس بگیرید تا از راه دور مشکل را برای شما حل کنند.
راه حل هایی که دیگران استفاده کرده اند.
به این نکته مهم توجه داشته باشید که ممکن است این راه حل ها برای شما کارساز نباشد ابتدا مطمئن شوید از همه چیز پشتیبان گرفته اید تا مشکلی پیش نیاید.
او پرس و جویSQL را در phpmy admin اجرا کرده بود.
UPDATE wp_options SET option_value=’YOUR_SITE_URL’ WHERE option_name=’siteurl’
مطئن شوید که ادرس سایت با آدرس واقعی جایگزین شده است.این راه حلی بود که چندین نفر استفاده کرده بودند.
Sachinum گفته بود که به پایگاه داده و فایل testconnection.php می تواند متصل شود او کاربر در فایل wp-config.php را به کاربر ریشه تغیر داده بود و با قالب وردپرس به خوبی شروع به کار کرده، سپس تنظیمات را به کاربر پایگاه داده تغییر داده و به کار خود ادامه داده است.او نمیتوانست اشتباه خود را متوجه شود تا اینکه به نتیجه رسیدند که اشکال تایپی وجود داشته است.
Cutewonders می گوید که آنها محتوای active_plugins در جدول wp_options حذف کرده اند و محتوای recently_edited را ویرایش کرده اند. اساسا به نظر می رسد که مشکل با این حل شده است.
ما در منابع مختلف مطالعه کردیم که کاربران با دوباره بارگزاری نسخه جدید قالب وردپرس مشکلشان را حل کرده اند.این واقعا یک خطای خسته کننده می باشد. ما خوشحال هستیم که این منبع را گسترش داده ایم چون دیگران مجبور نیستند زمان زیادی برای حل این مشکل وقت بگذارند.
آنفایو مرجع مقالات تخصصی در طراحی قالب ورد پرس
مشاهده بیشتر مقالات طراحی قالب وردپرس در http://on5,ir
ادامه مطلب