آموزش مشکل نمایش صفحه سفید ,خطا بعد از آپدیت به جوملا 3
شما از طریق پنل مدیریت وب سایت خود، اقدام به آپدیت جوملا می کنید، پس از بروزرسانی به نسخه جوملا 3 و بالاتر ناگهان با صفحه سفید یا صفحه خطایی مانند خطای زیر مواجه خواهید شد:
نقل قول:
Fatal error: Call to a member function get() on a non-object in /PATH-TO-YOUR-SITE/plugins/system/remember/remember.php on line 94
در صورتی که خطایی نمایش داده نشد، باید تنظیمات نمایش خطا در جوملا را فعال کنید. فایل configuration.php را باز کنید و متغییر error_reporting را در این فایل بیابید.
این متغییر به صورت پیش فرض به صورت زیر میباشد
کد:
public $error_reporting = 'default';
متغیر بالا را به شکل زیر تغییر بدهید
کد:
public $error_reporting = 'maximum';
بعد از ورود به پنل مدیریت سایت، خطای اشاره شده موجود، نمایش داده خواهد شد.
برای رفع مشکل به مسیر زیر بروید
کد:
/sitename/plugins/system/remember/remember.php
فایل remember.php را به remember_back.php تغییر نام دهید. بعد از تغییر نام فایل،دیگر به پنل مدیریت سایت دسترسی خواهید داشت، کافیست نام کاربری و رمز عبور مدیر را وارد کنید تا وارد مدیریت سایت شوید. پس از ورود به مدیریت سایت با خطای زیر مواجه خواهید شد:
کد:
1146 Table 'xxx.xxXxx_content_types' doesn't exist SQL=SHOW COLUMNS IN `xxXxx_content_types` WHERE field = 'content_history_options'
بریا حل خطا به مسیر زیر بروید
نقل قول:
مدیریت سایت -> افزونه ها -> مدیریت افزونه ها -> سمت راست پایگاه داده
در بخش بالایی این صفحه دکمه ای با نام "بروزرسانی" یا "Fix" وجود دارد، کافیست این دکمه را کلیک کنید تا جداول پایگاه داده شما بروزرسانی شده و مشکلات موجود برطرف شوند.
اگر دوباره با چنین پیام خطایی مواجه شدید
کد:
1146 Table 'xxx.xxXxx_content_types' doesn't exist SQL=SHOW COLUMNS IN `xxXxx_content_types` WHERE field = 'content_history_options'
برای این کار به phpmyadmin بروید و با کلیک بر روی نام بانک اطلاعاتی مورد نظر از منو بالا بر روی sql کلیک کنید و در کادر خالی مشاهده شده کد زیر را وارد نموده و بر روی Go کلیک کنید
کد:
CREATE TABLE IF NOT EXISTS `#__content_types` (
`type_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type_title` varchar(255) NOT NULL DEFAULT '',
`type_alias` varchar(255) NOT NULL DEFAULT '',
`table` varchar(255) NOT NULL DEFAULT '',
`rules` text NOT NULL,
`field_mappings` text NOT NULL,
`router` varchar(255) NOT NULL DEFAULT '',
`content_history_options` varchar(5120) COMMENT 'JSON string for com_contenthistory options',
PRIMARY KEY (`type_id`),
KEY `idx_alias` (`type_alias`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10000;
دقت کنید در کد بالا به جای #__ باید پیشوند جداول دیتابیس خود را وارد نمایید. برای نمونه پیشوند جداول ما "xxXxx_" می باشد.
بعد از اجرای دستور بالا و ایجاد جدول content_types به صفحه مدیریت سایت و مسیر اعلام شده در بالا مراجعه کنید و دکمه "بروزرسانی" را کلیک کنید تا جداول پایگاه داده شما بروزرسانی شوند.
حال می توانید فایل remember_back.php را به نام قبلی خود(remember.php) باز گردانید.