समस्या निवारण
From LimeSurvey Manual
सामान्य
यह पृष्ठ सफल इंस्टॉलेशन के बाद आने वाली सामान्य तकनीकी समस्याओं और उनके समाधानों की सूची देता है। यदि आपको इंस्टॉलेशन के दौरान होने वाली समस्याओं का निवारण करना है, तो कृपया इंस्टॉलेशन FAQ देखें।
एडमिनिस्ट्रेशन लॉगिन पृष्ठ खोलने का प्रयास करते समय
त्रुटि संदेश: इंस्टॉलेशन के बाद "No input file specified"
या
कोई भी URL आपको सर्वेक्षण सूची पृष्ठ पर पहुँचा देता है
इंस्टॉलेशन प्रक्रिया के दौरान LimeSurvey URL-प्रारूप के लिए सर्वोत्तम समाधान निर्धारित करने का प्रयास करता है। कभी-कभी यह सही ढंग से काम नहीं करता।
आपको अपनी कॉन्फ़िग फ़ाइल को एडिट करके LimeSurvey को दूसरा URL मैनेजर सिस्टम उपयोग करने के लिए बाध्य करना होगा।
/application/config/config.php में यह बदलें
'urlFormat' => 'path',
इसके साथ:
'urlFormat' => 'get',
फिर छोटे एडमिन URL का उपयोग करके एडमिनिस्ट्रेशन पैनल खोलने का प्रयास करें:
http://<yourserver.net>/<limesurvey_dir>/admin
एडमिनिस्ट्रेशन में लॉग इन करने के बाद
एडमिन पृष्ठ में कोई भी क्रिया आपको लॉगिन स्क्रीन पर वापस भेज देती है
ऐसा मुख्य रूप से निम्नलिखित कारणों से हो सकता है:
- PHP सत्र की समस्याएँ
- UTF8 एन्कोडिंग की समस्याएँ
- IE की समस्याएँ
PHP सत्र :
- php.ini में upload_tmp_dir और session.save_path अपडेट करें
- कॉन्फ़िगर की गई सत्र और अपलोड डायरेक्टरी बनाएँ
- IIS: IIS गेस्ट उपयोगकर्ता खाते को बनाने और संशोधित करने की अनुमति दें
- Apache: सुनिश्चित करें कि आपके वेबसर्वर के पास कॉन्फ़िगर की गई डायरेक्टरी में लिखने की अनुमति है
- जाँचें कि php.ini में वेरिएबल "session.use_cookies" का मान 1 है।
- php.ini में वेरिएबल "session.auto_start" जाँचें। यदि इसका मान 1 है, तो इसे 0 कर दें।
Internet Explorer की समस्याएँ LimeSurvey अब Internet Explorer के माध्यम से एडमिनिस्ट्रेशन इंटरफ़ेस तक पहुँच का समर्थन नहीं करता।
UTF8 एन्कोडिंग :
यदि आप कोई फ़ाइल (अधिकतर config.php) एडिट करते हैं, तो विशेष भाषा वर्णों के समर्थन के लिए उसे UTF8 में सेव न करें! .php फ़ाइलों को हमेशा वास्तविक ANSI/ISO प्रारूप में सेव करें।
बड़ी संख्या में प्रश्नों/जवाब विकल्प/उप-प्रश्नों वाला पृष्ठ सबमिट करना काम नहीं करता
PHP 5.3.9 में एक नई सेटिंग जोड़ी गई थी (और इसे कुछ पुराने PHP संस्करणों में भी बैकपोर्ट किया गया था): max_input_vars। यह सेटिंग सर्वर पर POST (सबमिट) किए जा सकने वाले वेरिएबल की अधिकतम संख्या सीमित करती है। डिफ़ॉल्ट मान 1000 है, लेकिन यदि आपके किसी प्रश्न में बहुत सारे जवाब विकल्प हैं या किसी सर्वेक्षण पृष्ठ में बहुत सारे प्रश्न/उत्तर हैं, तो यह सीमा पार हो सकती है। आपको इसे अपनी PHP कॉन्फ़िगरेशन फ़ाइल (php.ini) में सेट करना होगा।
Linux पर FreeTDS के साथ MSSQL Server उपयोग करने पर तिथियाँ सही ढंग से प्रदर्शित नहीं होतीं
FreeTDS की locales.conf फ़ाइल ढूँढें और उसे एडिट करें। यदि आपके पास FreeTDS का उपयोग करने वाले अन्य एप्लिकेशन नहीं हैं, तो बस सामग्री को इससे बदल दें
[default]
date format = %Y-%m-%d %H:%M:%S.%z
यदि FreeTDS का उपयोग करने वाले अन्य एप्लिकेशन आपके पास हैं, तो पहले जाँच लें कि आपको कौन-सा locale एडिट करना है।
फ़ाइल सेव करें और सर्वर को रीस्टार्ट करें। अब तिथियाँ सही ढंग से दिखनी चाहिए। यदि ऐसा नहीं होता, तो संभव है कि आपने गलत फ़ाइल एडिट की हो - प्रक्रिया दोहराएँ।
जब मैं अपने सर्वेक्षण या एडमिनिस्ट्रेशन में विशेष वर्ण (चीनी, सिरिलिक, ग्रीक, अरबी) दर्ज करता हूँ, तो हर वर्ण प्रश्नचिह्न के रूप में दिखता है?
ऐसा तब होता है जब आपका डेटाबेस UTF-8 कैरेक्टर सेट का उपयोग करने के लिए नहीं बनाया गया हो। यह तब हो सकता है जब आपको डेटाबेस प्रोवाइडर के एडमिनिस्ट्रेशन पैनल से बनाना पड़े। आप अपने डेटाबेस पर (उदाहरण के लिए phpMyAdmin का उपयोग करके) निम्नलिखित SQL कमांड चलाकर इस समस्या को ठीक कर सकते हैं ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
<your_database_name> को अपने डेटाबेस के नाम से बदलें। आपको यह LimeSurvey इंस्टॉल करने से पहले करना होगा।
PageSpeed से LimeSurvey में कुछ समस्याएँ होती हैं
आपको अपने LimeSurvey virtualhost में ModPagespeed off शामिल करना चाहिए।
अन्यथा, आप न तो सुविधा अद्यतन का उपयोग कर पाएँगे और न ही डेटा निर्यात कर पाएँगे। संभवतः कुछ और भी विफल हो सकता है।
सर्वेक्षण भरते समय
त्रुटि "Session has expired"
कभी-कभी आपको इस प्रकार का संदेश मिल सकता है:
ERROR
हमें खेद है, लेकिन आपका सत्र समाप्त हो गया है।
या तो आप बहुत लंबे समय तक निष्क्रिय रहे हैं, आपने अपने ब्राउज़र में कुकीज़ अक्षम कर रखी हैं, या आपके कनेक्शन में समस्याएँ थीं।
यदि आपके सर्वर पर Suhosin सक्रिय है, तो सर्वेक्षण के बीच में यह संदेश मिलने का कारण यही हो सकता है।
Suhosin PHP इंस्टॉलेशन के लिए एक उन्नत सुरक्षा प्रणाली है, लेकिन Suhosin का डिफ़ॉल्ट कॉन्फ़िगरेशन LimeSurvey के साथ समस्याएँ पैदा कर सकता है।
सबसे पहले, Suhosin दस्तावेज़ीकरण के अनुसार suhosin.log.sapi = 511 और suhosin.simulation = on सेट करके Suhosin लॉग की मदद से जाँच और परीक्षण करें।
कॉन्फ़िगरेशन फ़ाइल आमतौर पर /etc/php5/apache2/conf.d/suhosin.ini में होती है, लेकिन सही पथ सुनिश्चित करने के लिए आप अपना phpinfo देख सकते हैं (LimeSurvey एडमिनिस्ट्रेशन > वैश्विक सेटिंग्स > दिखाएँ phpinfo बटन > पंक्ति: "Additional .ini files parsed")।
पैरामीटर लागू होने के लिए अपना Apache/Nginx सर्वर पुनः आरंभ करना न भूलें (service apache2 restart या service nginx restart)।
जब सिमुलेशन चालू होता है, तो Suhosin कुछ भी ब्लॉक नहीं करता और त्रुटियाँ लॉग में दर्ज की जाती हैं (आमतौर पर आपके सिस्टम लॉग में: /var/log/syslog)। यदि आपको "ALERT-SIMULATION - configured POST variable limit exceeded" जैसा त्रुटि संदेश मिलता है, तो यह Suhosin की चेतावनी है। ऐसे में निम्नलिखित कॉन्फ़िगरेशन आज़माएँ (जो LimeSurvey के साथ अच्छी तरह काम करता प्रतीत होता है):
suhosin.memory_limit = 128
suhosin.post.max_value_length = 5000000
suhosin.post.max_vars = 5000
suhosin.request.max_value_length = 5000000
suhosin.request.max_vars = 5000
इन पैरामीटर के साथ, आप suhosin.simulation को वापस "off" मान पर सेट कर सकेंगे (ताकि सर्वर सुरक्षित रहे और LimeSurvey भी काम करता रहे)।
Suhosin के डिफ़ॉल्ट मान LimeSurvey के साथ अच्छी तरह काम नहीं करते। यदि आप अपने सर्वर को पूरी तरह सुरक्षित रखना चाहते हैं, तो सेटिंग को ट्यून करने के लिए सिमुलेशन मोड का उपयोग करें और vars के लिए 1000 से 5000 के बीच तथा value_lengths के लिए 1000000 से 5000000 के बीच उपयुक्त मान खोजें।
मैं भाषा नहीं बदल पा रहा/रही हूँ!
आप कोई भी भाषा चुनें, इंटरफ़ेस (एडमिन और उपयोगकर्ता) हमेशा अंग्रेज़ी भाषा में ही दिखाई देता है। आमतौर पर यह आपके PHP संस्करण में किसी बग के कारण होता है। इसका एकमात्र समाधान अपने PHP संस्करण को अपडेट करना है।
कुछ सामान्य त्रुटियाँ (IIS पर केंद्रित)
Index.php नहीं खुल रहा
संभावित कारण: यह तब हो सकता है जब आपने आवश्यक एक्सटेंशन इंस्टॉल नहीं किए हों
- आपको Multi-byte string और MSSQL (या MySQL) एक्सटेंशन इंस्टॉल करने होंगे
संभावित कारण: ISAPI फ़िल्टर कॉन्फ़िगर नहीं किया गया है
- IIS में, वेबसाइट के लिए (आप इसे डायरेक्टरी स्तर पर भी कर सकते हैं) इसे php5isapi.dll का उपयोग करने के लिए कॉन्फ़िगर करना होगा
Index.php नहीं खुल रहा और "php.exe -i" अनुपलब्ध .dll फ़ाइलों के बारे में त्रुटि संदेश देता है
यह तब हो सकता है जब आप बहुत अधिक एक्सटेंशन इंस्टॉल कर लें
- यदि आप सभी PHP एक्सटेंशन इंस्टॉल करते हैं, तो PHP विफल हो जाएगा क्योंकि सभी निर्भरताएँ पूरी नहीं हुईं (उदाहरण के लिए, oracle पैकेज को oracle dll फ़ाइलों की आवश्यकता होती है)
- केवल वही एक्सटेंशन इंस्टॉल करें जिनकी आपको आवश्यकता है
- परीक्षण के लिए, कमांड लाइन से php.exe -i चलाकर देखें
डेटाबेस अनुपलब्ध होने का संदेश
यह तब हो सकता है जब आप गलत URL पर जाएँ:
- सुनिश्चित करें कि आप limesurvey/index.php के बजाय limesurvey/admin/install/index.php पर जा रहे हैं!
उपरोक्त समाधानों से समस्या हल नहीं होती
यह तब हो सकता है जब आपने IIS को पुनः आरंभ नहीं किया हो
- IIS को पुनः आरंभ करें
ऐसी बातें जिन्हें भूलना आसान है:
- .php को फ़िल्टर php5isapi.dll से संबद्ध किया जाना चाहिए
- सर्वेक्षण अपलोड के लिए limesurvey/tmp डायरेक्टरी को लिखने की अनुमति चाहिए
- php.ini में doc_root और config.php में $rootdir को अपडेट करना
अनुपलब्ध फ़ाइलें ("No such file or directory")
LimeSurvey को अपने सर्वर पर अपलोड करते समय कनेक्शन बाधित हो सकता है, जिससे कुछ फ़ाइलें स्थानांतरित नहीं होतीं या अधूरी स्थानांतरित होती हैं। फ़ाइलों के आधार पर, LimeSurvey की अलग-अलग सुविधाओं/हिस्सों तक पहुँचने पर आपको अलग-अलग त्रुटि संदेश मिल सकते हैं। अनुपलब्ध फ़ाइलों से उत्पन्न त्रुटियाँ इस प्रकार दिखती हैं:
"Warning: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: failed to open stream: No such file or directory in /path/to/your/limesurvey/installation/filename on line 12345" OR
"Fatal error: require_once() [function.require]: Failed opening required 'require_once(/path/to/your/limesurvey/installation/filename)' (include_path='.:/x/y/z) in /path/to/your/limesurvey/installation/filename on line 12345"
समाधान
1. अपलोड की गई सभी फ़ाइलें डिलीट करें।
2. फ़ाइलें दोबारा अपलोड करें।
(3. यदि आवश्यक हो: /limesurveyfolder/admin/install पर जाकर दोबारा इंस्टॉल करें)
पेज सबमिट करने के बाद आप सामान्य इंडेक्स पेज पर या 404 पेज पर पहुँच जाते हैं या आपको संदेश 'The CSRF token could not be verified' मिलता है
या
ऐसे पेज पर 'अगला' पर क्लिक करने के बाद, जिसमें बड़ी संख्या में उत्तर/उप-प्रश्न हैं, सभी प्रतिक्रियाएं सहेजी नहीं जा रही हैं
या
सभी की प्रतिक्रियाएं 'अगला' पर क्लिक करने के बाद, मैं उसी पेज पर पहुँच जाता हूँ
या
त्वरित अनुवाद सिस्टम का उपयोग करने पर उत्तर या उप-प्रश्न सेव नहीं होते
या
बड़ी संख्या में प्रतिक्रिया फ़ील्ड एक्सपोर्ट करते समय सभी एक्सपोर्ट नहीं होते
- इसका सबसे संभावित कारण आपके वेबसर्वर की एक सीमित करने वाली सेटिंग है: max_input_vars। यह सेटिंग सर्वर पर POST (सबमिट) किए जा सकने वाले वेरिएबल की अधिकतम संख्या को सीमित करती है।
डिफ़ॉल्ट मान 1000 है, लेकिन यदि किसी प्रश्न में बहुत सारे उत्तर विकल्प हैं या किसी सर्वेक्षण पेज पर बहुत सारे प्रश्न/उत्तर हैं, तो यह सीमा पार हो सकती है। आपको अपना PHP कॉन्फ़िगरेशन (php.ini) एडिट करना होगा।
- साथ ही, यदि आपका होस्ट Apache के लिए Suhosin एक्सटेंशन का उपयोग कर रहा है, तो अपनी PHP सेटिंग जाँचें, क्योंकि कुछ सेटिंग बहुत अधिक सीमित हो सकती हैं।
- उदाहरण के लिए, "suhosin.post.max_vars" और "suhosin.request.max_vars" दोनों सेटिंग डिफ़ॉल्ट रूप से 200 पर सेट होती हैं। इन दोनों को 400 या उससे अधिक करें ताकि उपयोगकर्ता लंबे सर्वेक्षण पूरे करके सबमिट कर सकें।
- यदि फिर भी समस्या बनी रहे, तो मॉड्यूल को simulation_mode में बदलकर देखें (यानी उसे लगभग निष्क्रिय कर दें), क्योंकि अधिकतम मान हमेशा आपके विशेष सर्वेक्षण पर निर्भर करता है।
- एक अन्य कारण कोई प्रॉक्सी या ऐसा ही सॉफ़्टवेयर हो सकता है जो बड़े POST अनुरोधों या बैकग्राउंड में एक ही पेज को कई बार अनुरोध करने की अनुमति नहीं देता (जिससे नई CSRF-key बन जाती है)। ऐसी स्थिति में कोई दूसरा इंटरनेट कनेक्शन आज़माएँ।
Linux पर FreeTDS के साथ MSSQL Server का उपयोग करने पर कोई प्रश्न नहीं दिखता
यदि आप किसी भी प्रश्न समूह को ध्यान से जाँचें, तो समूह प्रासंगिकता में एक स्पेस मिलता है, जिसके कारण पूरा समूह अप्रासंगिक हो जाता है। मूल समस्या यह है कि गलत कॉन्फ़िगरेशन के कारण आपका FreeTDS खाली फ़ील्ड में स्पेस लौटाता है। आप FreeTDS प्रोटोकॉल संस्करण को कम से कम 8.0 पर सेट करके इस समस्या को ठीक कर सकते हैं। इसके लिए freetds.conf (जैसे /etc/freetds/freetds.conf) एडिट करें और संबंधित पंक्ति को इस प्रकार बदलें:
tds version = 8.0
इससे यह समस्या ठीक हो जानी चाहिए।
सर्वेक्षण पूरा करने के बाद
प्रतिभागी द्वारा दर्ज किए गए टेक्स्ट परिणामों में प्रश्नवाचक चिह्न के रूप में दिखते हैं
ऐसा तब होता है जब आपका डेटाबेस डिफ़ॉल्ट रूप से UTF-8 कैरेक्टर सेट का उपयोग नहीं करता। ऐसा तब हो सकता है जब आपको डेटाबेस प्रोवाइडर के एडमिनिस्ट्रेशन पैनल से बनाना पड़े। आप अपने डेटाबेस पर निम्नलिखित SQL कमांड चलाकर (उदाहरण के लिए phpMyAdmin का उपयोग करके) इस समस्या को ठीक कर सकते हैं:
ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
<your_database_name> को अपने डेटाबेस के नाम से बदलें। ऐसा करने के बाद, अपना सर्वेक्षण निष्क्रिय करें और उसे दोबारा सक्रिय करें।
डेटाबेस से संबंधित समस्याएँ
मैं चाहता हूँ कि LimeSurvey किसी विशिष्ट Postgres स्कीमा का उपयोग करे
config.php में यह सेट करें 'initSQLs' => array('SET search_path TO "LimeSurvey";'), उदाहरण के लिए config-defaults देखें।