رفع خطای ۵۰۰ بعد از بروزرسانی وردپرس شبکه به نسخه ۵
اگر قصد به روز رسانی وردپرس شبکه یا همان وردپرس چند سایته را داشته باشید، باید به این نکتهای که در این آموزش خدمت شما عرض خواهد شد دقت کافی داشته باشید. در غیر این صورت ممکن است با مشکل خطای ۵۰۰ بعد از بروزرسانی وردپرس شبکه به نسخه ۵ مواجه گردید. البته برای شما عزیزان روش حل این مشکل را هم در ادامه عرض خواهم کرد.
شرح ماجرای بروز خطای ۵۰۰ وردپرس شبکه بعد از آپدیت
در نسخهٔ ۵ وردپرس که جدیدترین به روز رسانی عمده از این CMS بود، یک جدول به دیتابیس وردپرس افزوده می شود که نام آن wp_blogmeta است. زمانی که یک وردپرس تک سایته را به روز رسانی میکنید، این جدول درون پایگاه داده وردپرس به خوبی ساخته میشود.
اما روی وردپرس شبکه در پارهای از موارد این جدول ساخته نشده، پس برای تمامی یا بخشی از دامنههای سایتهای شما روی شبکه، مخصوصاً سایت اصلی، خطای ۵۰۰ برگردانده میشود.
زمانی که نمایش خطاهای وردپرس را از طریق سند wp-config.php روشن میکنید، با یک خطایی مثل مورد زیر مواجه میشوید:
WordPress database error Table ‘malith_wordpress_prod.wp_blogmeta' doesn't exist for query SELECT blog_id, meta_key, meta_value FROM wp_blogmeta WHERE blog_id IN (1) ORDER BY meta_id ASC made by require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), require('wp-includes/ms-settings.php'), ms_load_current_site_and_network, get_site_by_path, get_sites, WP_Site_Query->query, WP_Site_Query->get_sites, _prime_site_caches, update_site_cache, update_sitemeta_cache, update_meta_cache
پیشگیری از بروز خطای ۵۰۰
برای پیشگیری از بروز این خطا بهتر است به موارد زیر دقت کافی را داشته باشید.
- ابتدا تمامی افزونهها و قالبهای وردپرس را به روز کنید. بعد به سراغ به روز رسانی خود وردپرس بروید.
- حتماً مطمئن شوید که کاربر پایگاه دادهٔ شما تمامی دسترسیهای لازم را دارد. مخصوصاً دسترسی CREATE را. این بررسی را از طریق کنترل پنل فضای میزبانی بخش MySQL Databases میتوانید انجام دهید.
ایجاد شرایط زیر هم میتواند باعث جلوگیری از ایجاد جدول wp_blogmeta در زمان به روز رسانی میگردد. که نتیجه آن خطای ۵۰۰ بعد از به روز رسانی است.
- تنظیم مقدار DO_NOT_UPGRADE_GLOBAL_TABLES به true
- فیلتر wp_should_upgrade_global_tables به false
- شسکت تابع wp_should_upgrade_global_tables() به روشی مشابه
یک موضوع هم در بخش گزارش ایرادهای وردپرس در اینجا (در سایت وردپرس) راجع به همین موضوع ایجاد شده است. بد نیست اگر کمی حرفهای هستید، آن را هم دنبال کنید.
البته تضمینی نیست که با رعایت موارد بالا، صد در صد مشکلی برای سایت وردپرس شما پیش نیاید! پس حتماً قبل از هر کاری یا یک نسخهٔ پشتیبانی (بکاپ) از کل سایتتان بگیرید. یا مطمئن شوید آخرین بکاپی که دارید برای مدت زمان طولانی نیست و سالم است. حتماً این کارهایی که گفتم را انجام دهید!
رفع خطای ۵۰۰ بعد از به روز رسانی وردپرس شبکه
حالا اگر وردپرس شبکه تان را به نسخه ۵ به روز رسانی کردید، با یک چنین خطایی روبرو شدید، دست و پایتان را گم نکنید! ظرف دو دقیقه قادرید این مشکل را رفع کنید. چطور؟ باید به صورت دستی جدول wp_blogmeta را ایجاد کنید. به همین راحتی!
پس phpMyAdmin را باز کنید و وارد جدول وردپرس خود شوید. حالا روی SQL یا SQL Query از بالای صفحه کلیک کنید تا بتوانید کد زیر را در جعبهٔ بالای صفحه وارد کنید. سپس روی Go بزنید.
CREATE TABLE IF NOT EXISTS ncu_blogmeta (
meta_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
blog_id bigint(20) NOT NULL DEFAULT '0',
meta_key varchar(255) COLLATE utf8_general_ci DEFAULT NULL,
meta_value longtext COLLATE utf8_general_ci,
PRIMARY KEY (meta_id),
KEY meta_key (meta_key(191)),
KEY blog_id (blog_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1 ;
بعد از اجرای کوئری بالا، جدول ایجاد شده و حالا اگر به سایت مراجعه کنید، خواهید دید که وردپرس شبکهٔ شما به درستی به نسخهٔ ۵ بروز شده است.
باید حتماً دیتابیس وردپرس را از داخل پیشخوان سایت به روز کنید که لینک آن در بالای صفحات ذکر شده. روی آن کلیک کنید و بقیه مراحل.
ممکن است نیاز باشد دیتابیس را هم Upgrade کنید که برای این منظور باید به نشانی زیر مراجعه نمایید:
به جای yourdomain.ir نشانی دامنهٔ اینترنتی خودتان را وارد نمایید.
برگرداندن به نسخه قبلی وردپرس
زمانی که از روش بالا برای رفع مشکل استفاده میکنید، باید مشکلتان حل گردد. اما اگر نشد، میتوانید مجدد وردپرس را به نسخهٔ ۴.۹ برگردانید. اگر بکاپ داشتید که هیچ. اما اگر نداشتید باز هم راه حلی هست!
برای این کار کافی است تمامی اسناد وردپرس را به غیر از پوشهٔ wp-content را حذف کرده و با محتویات جدید از نسخهٔ قدیمی (در اینجا مثلا ۴.۹) جایگزین کنید. به همین راحتی همه چیز به حالت قبل از به روز رسانی وردپرس شبکه بر خواهد گشت.
در مواقعی هم نیاز است دیتابیس را Repair نمایید. این کار را هم از طریق phpMyAdmin و هم از طریق کنترل پنل (مثل سی پنل » بخش مدیریت پایگاه های داده) قادرید انجام دهید.
جمع بندی
این بود از آموزش کامل و جامع رفع خطای ۵۰۰ بعد از بروزرسانی وردپرس شبکه به نسخه ۵ که اگر با چنین مشکلی مواجه شدید و دستورات این صفحه را دنبال کرده باشید، الان باید به خیال راحت به زندگی تان برسید. چرا که مشکل باید حل شده باشد.