مرکز آموزش

رفع خطای mysql_full_unicode_support در Moodle

  • 6

چنانچه در حین مطالعه این مقاله هستید احتمالا قصد دارید سیستم مدیریت محتوا Moodle را بر روی هاست یا سرور خود نصب و راه اندازی کنید. اما در مراحل ابتدایی نصب با دو خطای قرمز رنگ زیر مواجه می شوید:

mysql_full_unicode_support#File_format     
this test must pass
Your database uses Antelope as the file format. Full UTF-8 support in MySQL and MariaDB requires the Barracuda file format. Please switch to the Barracuda file format. See the documentation MySQL full unicode support for details.
mysql_full_unicode_support#Large_prefix     
this test must pass
For full support of UTF-8 both MySQL and MariaDB require you to change your MySQL setting 'innodb_large_prefix' to 'ON'. See the documentation for further details.

خوب Moodle نیز مانند هر سیستم مدیریت محتوا دیگر به امکاناتی نیاز دارد که لازم است قبلا بر روی سرور نصب و فعال شده باشند اما البته نیازمندی این سیستم به خصوص در نسخه های جدید کمی با سایر موارد متفاوت است. به عنوان مثال در این سیستم حتما بایستی افزونه XMLRPC به طور مستقیم بر روی PHP فعال باشد. بنابراین هاست یا سرور شما باید این قابلیت را پشتیبانی کند.

 

از طرفی Collation دیتابیس برای Moodle باید به شیوه ای خاص تنظیم شود. با وجود اینکه MySQL از دو Collation با نام های utf8_unicode_ci و utf8mb4_unicode_ci پشتیبانی می کند اما لازم است خود نیز به صورت دستی چند تغییر در سرور یا هاست خود ایجاد کنید تا دو خطای ذکر شده در بالا برطرف شوند. پس در ادامه با ما همراه باشید....

نحوه رفع خطا

مراحل زیر را با در نظر گرفتن نکات اجرا کنید:

1- ابتدا لازم است از طریق phpMyAdmin به دیتابیس ایجاد شده مراجعه و از منو Operation اقدام به تنظیم Collation بر روی یکی از دو مورد utf8_unicode_ci یا utf8mb4_unicode_ci کنید.

2- حال به مسیر نصب Moodle در هاست یا سرور خود مراجعه و فایل config.php را برای ویرایش باز کنید.

3- در این فایل بخشی برای ورود اطلاعات دیتابیس وجود دارد. بخش dbcollation را یافته و مقدار آن را بر حسب Collation تنظیم شده در دیتابیس به یکی از موارد زیر تغییر دهید:

'dbcollation' => 'utf8_unicode_ci',
یا
'dbcollation' => ' utf8mb4_unicode_ci',
اگر از هاست اشتراکی استفاده می کنید توصیه می شود از utf8_unicode_ci  استفاده کنید.
چنانچه از utf8mb4_unicode_ci استفاده می کنید لازم است چند تغییر در کانفیگ اصلی MySQL ایجاد کنید تا فرمت Barracuda نیز فعال گردد.. اما برای این کار لازم است به root سرور دسترسی داشته باشید پس در هاست اشتراکی امکان استفاده از این Collation را با تنظیمات مورد نیاز Moodle ندارید. برای utf8mb4_unicode_ci باید سرور مجازی یا اختصاصی در اختیار داشته باشید. اگر از سرور مجازی استفاده می کنید مراحل زیر را دنبال کنید:
1- فایل کانفیگ MySQL را برای ویرایش باز کنید:
nano /etc/my.cnf
2- کد زیر را به انتهای  بخش [mysqld] اضافه کنید:
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
3- با فرمان زیر MySQL را restart کنید:
Service mysql restart
یا
Service mysqld restart

 

4- در هر صورت پس از انتخاب هر یک از دو Collation  نامبرده و اعمال تنظیمات مربوط به آن، صفحه نصب Moodle را در مرورگر Refresh کنید. مشاهده خواهید کرد که خطاهای قرمز رنگ برطرف شده و دکمه Continue یا ادامه در انتهای صفحه ظاهر خواهد شد.

کار تمام شد!

تمامی حقوق مادی و معنوی این مطلب متعلق به HiSupport است.
کپی برداری از مطالب تنها با ذکر منبع و لینک به وبسایت HiSupport بلامانع است.


آیا این آموزش به شما کمک کرد؟