คำถามที่พบบ่อยเกี่ยวกับการติดตั้ง
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';
ในเทอร์มินัล ต้องแทนที่ <your_database_name>, <your_database_username> และ <your_database_password> ด้วยค่าที่เกี่ยวข้องหรือค่าที่ต้องการ
จะทำอย่างไรหากไม่สามารถสร้างฐานข้อมูลผ่านสคริปต์ได้
โดยปกติ สคริปต์จะสร้างฐานข้อมูลใหม่ แล้วจึงสร้างโครงสร้างตาราง อย่างไรก็ตาม หากเซิร์ฟเวอร์/ISP ของคุณไม่ให้สิทธิ์ผู้ดูแลระบบในการสร้างฐานข้อมูลใหม่ใน MySQL คุณจะต้องติดต่อผู้ดูแลระบบเซิร์ฟเวอร์เพื่อให้สร้างฐานข้อมูลที่จำเป็น (หรือสร้างด้วยตนเองหากคุณได้รับสิทธิ์ที่จำเป็น) ฐานข้อมูลเปล่าที่สร้างขึ้นใหม่ควรมีสิทธิ์การเข้าถึงที่เหมาะสม (เช่น อ่าน/เขียน/สร้าง) จากนั้นคุณจะสามารถเริ่มการติดตั้ง LimeSurvey ซึ่งจะสร้างตารางภายในฐานข้อมูลที่สร้างขึ้นใหม่นี้
หน้าเปล่าเมื่อเข้าถึงหน้าติดตั้ง
ปัญหานี้ไม่ได้เกิดจากการติดตั้ง LimeSurvey แต่เกิดจากการติดตั้ง PHP
- ตรวจสอบว่าคุณได้ติดตั้งโมดูล MySQL สำหรับ PHP (php-mysql) แล้ว
- ตรวจสอบว่า PHP ที่ติดตั้งโหลดไฟล์ PHP.ini ที่คุณกำลังแก้ไข ไม่ใช่ไฟล์ PHP.INI อื่นในระบบของคุณ
- ตรวจสอบตำแหน่งและสิทธิ์ของการตั้งค่าต่อไปนี้ใน PHP.ini ของคุณ:
upload_tmp_dir="/temp"
session.save_path="/temp"
- ตรวจสอบว่าเซิร์ฟเวอร์ของคุณใช้ PHP รุ่นที่เหมาะสม
ข้อความแสดงข้อผิดพลาดเนื่องจากไม่มีทรัพยากร
บางครั้งไฟล์อาจอัปโหลดไม่สมบูรณ์หรือเสียหายระหว่างกระบวนการอัปโหลด ซึ่งทำให้เกิดข้อความแสดงข้อผิดพลาดหลายแบบ ส่วนใหญ่จะอ้างถึงไฟล์หรือฟังก์ชันในไฟล์ที่ไม่พบ
วิธีแก้ไข: อัปโหลดไฟล์ทั้งหมดใหม่โดยใช้โหมดไบนารีของโปรแกรม FTP ของคุณ
หน้าข้อกำหนด
ไลบรารี mbstring (Multibyte String Functions) คืออะไร
ไลบรารี mbstring เป็นไลบรารีของ PHP ที่สามารถแปลงชุดอักขระจากภาษาหนึ่งเป็นอีกภาษาหนึ่งได้ คุณจำเป็นต้องใช้ไลบรารีนี้หากต้องการเรียกใช้ LimeSurvey หากต้องการตรวจสอบว่าติดตั้งแล้วหรือยัง ให้เปิด URL ต่อไปนี้จากเว็บเบราว์เซอร์:
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 ในไดเรกทอรี home หรือ public_html ของผู้ใช้ และไดเรกทอรี home ถูกเมานต์ผ่าน NFS หากต้องการตั้งค่า $rootdir ด้วยตนเอง (เชลล์หรือคำสั่ง pwd ของคุณอาจแสดงเส้นทางเช่น /disks/hostname/home/username/public_html/limesurvey) ให้ลองใช้ /home/username/public_html/limesurvey
เมื่อเข้าถึงหน้าผู้ดูแลระบบ เบราว์เซอร์ทำงานค้างอยู่และสุดท้ายไม่สามารถแสดงหน้านั้นได้
อาการ
- LimeSurvey ติดตั้งถูกต้องและสร้างฐานข้อมูลแล้ว แต่เมื่อเข้าถึงหน้าผู้ดูแลระบบ เบราว์เซอร์จะทำงานค้างอยู่และสุดท้ายไม่สามารถแสดงหน้านั้นได้
- เมื่อตรวจสอบบันทึกการเข้าถึง (access log) ของเว็บเซิร์ฟเวอร์ จะพบว่าไฟล์มีขนาดใหญ่มาก (ในบางกรณีมากกว่า 2 GB)
- ภายในบันทึกการเข้าถึงจะมีข้อความนี้ปรากฏเต็มไปหมด:
วิธีแก้ไข
สาเหตุอาจมาจากการตั้งค่า 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 เพื่อให้ชื่อพาธไม่มีอักขระต่อไปนี้: '(',')' หรือ '+'
หลังการติดตั้ง
สำหรับปัญหาอื่นๆ ที่อาจเกิดขึ้นหลังจากการติดตั้งสำเร็จ โปรดดูหน้าการแก้ไขปัญหา