الأسئلة الشائعة حول التثبيت
From LimeSurvey Manual
المحتويات:
التثبيت على جهاز الكمبيوتر الخاص بك
يمكن تثبيت LimeSurvey على جهاز الكمبيوتر الخاص بك باستخدام MAMP/XAMPP أو أي نظام آخر. تذكّر أن جهاز الكمبيوتر الخاص بك ليس خادم ويب - فلا يمكن لأي مستخدم آخر الوصول إليه عبر الويب.
لكي يصبح الاستبيان الخاص بك متاحًا للمستخدمين الآخرين عبر الويب، عليك إما:
- امتلاك خادم أو مساحة ويب من مزوّد استضافة
- أو العثور على مزوّد استضافة متخصص في LimeSurvey
بدء التثبيت
كيف يمكنني إنشاء قاعدة بيانات ومستخدم في MySQL باستخدام سطر الأوامر؟
عليك إدخال الأوامر التالية في MySQL:
create database <your_database_name>;
create user <your_database_username>;
create user <your_database_username>@localhost;
set password for <your_database_username> = PASSWORD('<your_database_password>');
set password for <your_database_username>@localhost = PASSWORD('<your_database_password>');
grant all on <your_database_name>.* to '<your_database_username>';
grant all on <your_database_name>.* to '<your_database_username>'@'localhost';
في الطرفية (terminal)، يجب استبدال <your_database_name> و<your_database_username> و<your_database_password> بالقيم المناسبة أو المطلوبة.
ماذا أفعل إذا لم أتمكن من إنشاء قاعدة بيانات عبر سكربت؟
عادةً يقوم السكربت بإنشاء قاعدة بيانات جديدة ثم بنية الجداول. ولكن إذا كان الخادم/مزوّد خدمة الإنترنت لا يمنحك صلاحيات المسؤول لإنشاء قاعدة بيانات جديدة في MySQL، فستحتاج إلى التواصل مع مسؤول الخادم لإنشاء قاعدة البيانات اللازمة (أو إنشائها بنفسك إذا حصلت على الأذونات المطلوبة). يجب أن تتضمن قاعدة البيانات الفارغة التي تم إنشاؤها حديثًا حقوق الوصول المناسبة (أي: القراءة/الكتابة/الإنشاء). بعد ذلك، يجب أن تتمكن من بدء تثبيت LimeSurvey، والذي سيُنشئ الجداول داخل قاعدة البيانات التي أُنشئت حديثًا.
صفحة فارغة عند الدخول إلى صفحة التثبيت
لا تحدث هذه المشكلة داخل تثبيت LimeSurvey، بل داخل تثبيت PHP.
- تحقق من تثبيت وحدة MySQL الخاصة بـ PHP (php-mysql).
- تحقق من أن تثبيت PHP لديك يحمّل ملف PHP.ini الذي تقوم بتعديله وليس ملفات PHP.INI أخرى موجودة على النظام.
- تحقق من موقع الإعداد التالي وأذوناته في ملف PHP.ini:
upload_tmp_dir="/temp"
session.save_path="/temp"
- تحقق من أن الخادم يعمل بنسخة PHP مناسبة.
رسائل خطأ بسبب موارد غير موجودة
في بعض الأحيان لا يتم تحميل الملفات بشكل صحيح أو تتلف أثناء عملية التحميل. يؤدي ذلك إلى ظهور رسائل خطأ مختلفة. تشير معظمها إلى ملف أو دالة داخل ملف لا يمكن العثور عليه.
الحل: أعد تحميل جميع الملفات باستخدام الوضع الثنائي (binary mode) في برنامج FTP الخاص بك.
صفحة المتطلبات
ما هي مكتبة mbstring (دوال السلاسل متعددة البايت)؟
مكتبة mbstring هي مكتبة PHP يمكنها تحويل مجموعات الأحرف من لغة إلى أخرى. تحتاج إليها لتشغيل LimeSurvey. للتحقق مما إذا كانت مثبتة بالفعل، افتح الرابط التالي في متصفح الويب:
http://<your_server>/<your_limesurvey_directory>/admin/install/phpinfo.php
ستظهر لك الكثير من المعلومات. ابحث عن النص 'mbstring' في قسم إعدادات. إذا وجدت قسم mbstring فهذا يعني أن كل شيء على ما يرام ويمكنك متابعة تثبيت LimeSurvey!
إذا لم تجد قسم mbstring، فقد تواجه مشكلة. هناك ثلاثة سيناريوهات محتملة:
- إذا كان الخادم تابعًا لمزوّد الاستضافة، فاطلب تنشيط هذا الامتداد في PHP أو اطلب مزيدًا من المعلومات حول كيفية تنشيطه - وإذا كانت لوحة إدارة الخادم لديك جيدة، فقد تتمكن من تنشيطه بنفسك
- إذا كان الخادم الخاص بك يعمل بنظام Linux، فقد تحتاج إلى إعادة تجميع PHP وتضمين مكتبة mbstring. اسأل خبراء Linux عن كيفية القيام بذلك. ومع ذلك، يمكنك تثبيتها باستخدام مدير الحزم في Linux، وهو متوفر حاليًا في معظم توزيعات Linux
- إذا كنت تستخدم نسخة من Linux تدعم 'yum' (CentOS وRedHat وFedora)...
- ...استخدم الطرفية (كمستخدم مميز) واكتب: yum install php-mbstring
- ...تأكد من تحديث /etc/php.ini وإلغاء التعليق عن معاملات mbstring المختلفة
- ...تأكد من إعادة تشغيل apache بعد التثبيت: /etc/init.d/httpd restart
- إذا كنت تستخدم نسخة من Linux تدعم 'yum' (CentOS وRedHat وFedora)...
- إذا كان الخادم الخاص بك يعمل بنظام Windows، فابحث عن php.ini في نظامك وافتحه بمحرر نصوص وابحث عن mbstring. على الأرجح أن السطر الذي يحتوي على هذا النص معطّل بفاصلة منقوطة. أزل الفاصلة المنقوطة، ثم احفظ الملف وأعد تشغيل خادم الويب
التوقف عند التحقق من أذونات نظام الملفات
إذا كان SELinux مفعّلًا (خاصة على CentOS)، فقد تظهر لك رسالة خطأ تفيد بأن أذونات نظام الملفات غير صحيحة، حتى لو كانت قائمة الدلائل فارغة. يمنع SELinux الكتابة حتى لو كانت الأذونات مثلًا 777 أو 755. لإعداد SELinux بشكل صحيح لخادمك، راجع وثائق SELinux.
بعد إنشاء قاعدة بيانات
صفحة فارغة بعد إنشاء قاعدة بيانات
الأعراض
- تم تثبيت LimeSurvey بشكل صحيح وتم إنشاء قاعدة البيانات، ولكن بدلًا من صفحة الإدارة تظهر لك صفحة فارغة
- يعرض سجل خادم الويب الرسالة "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"
الحل
غالبًا ما يرتبط هذا بإعداد غير صحيح للمتغير $rooturl أو $rootdir في config.php. يحاول ملف config.php ضبط $rootdir بشكل صحيح عن طريق استدعاء dirname('''FILE'''). ورغم أن هذا يعمل عادةً، فقد يفشل عند تثبيت LimeSurvey في الدليل الرئيسي للمستخدم أو في دليل public_html وكان الدليل الرئيسي مركّبًا عبر NFS. لضبط $rootdir يدويًا (قد يعرض لك الطرفية أو الأمر pwd مسارًا مثل /disks/hostname/home/username/public_html/limesurvey)، جرّب استخدام /home/username/public_html/limesurvey.
عند الوصول إلى صفحة الإدارة، يظل المتصفح قيد التحميل ثم يفشل في عرضها
الأعراض
- تم تثبيت LimeSurvey بشكل صحيح وتم إنشاء قاعدة البيانات. ومع ذلك، عند الوصول إلى صفحة الإدارة، يظل المتصفح قيد التحميل ثم يفشل في عرض الصفحة
- عند فحص سجل الوصول لخادم الويب، تجد أن حجمه أصبح كبيرًا جدًا (يتجاوز 2 جيجابايت في بعض الحالات)
- تملأ هذه الرسالة سجل الوصول:
الحل
قد يكون السبب هو إعداد mbstring.func_overload. غيّر الإعداد التالي في ملف php.ini:
mbstring.func_overload = 0
عند الوصول إلى صفحة الإدارة، يعرض المتصفح الخطأ Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76
الأعراض
- تم تثبيت LimeSurvey بشكل صحيح وتم إنشاء قاعدة البيانات. لكن عند إعادة التوجيه إلى صفحة الإدارة، عرض المتصفح الخطأ المذكور.
- تم ضبط
$rootdirو$rooturlبشكل صحيح في config.php. - يحتوي مسار دليل تثبيت LimeSurvey على القرص على أحد الأحرف التالية: '(' أو ')' أو '+'.
الحل
انقل دليل تثبيت LimeSurvey أو أعد تسميته بحيث لا يحتوي اسم المسار على أي من الأحرف التالية: '(' أو ')' أو '+'.
بعد التثبيت
لأي مشكلات أخرى قد تظهر بعد التثبيت الناجح، يُرجى الرجوع إلى صفحة استكشاف الأخطاء وإصلاحها.