Sorun giderme
From LimeSurvey Manual
Genel
Bu sayfada, başarılı bir kurulumdan sonra karşılaşılan tipik teknik sorunlar ve çözümleri listelenmiştir. Kurulum sırasında oluşan sorunları gidermeniz gerekiyorsa lütfen Kurulum SSS sayfasına bakın.
Yönetim giriş sayfasını açmaya çalışırken
Hata iletisi: "No input file specified" (kurulumdan sonra)
veya
Herhangi bir URL sizi anket listesi sayfasına götürüyor
Kurulum sırasında LimeSurvey, URL biçimi için en iyi çözümü belirlemeye çalışır. Bazen bu düzgün çalışmaz.
Yapılandırma dosyanızı düzenleyerek LimeSurvey'i başka bir URL yönetim sistemini kullanmaya zorlamanız gerekir.
/application/config/config.php dosyasında şunu değiştirin:
'urlFormat' => 'path',
şununla:
'urlFormat' => 'get',
Ardından kısa yönetim URL'sini kullanarak yönetim panelini açmayı deneyin:
http://<yourserver.net>/<limesurvey_dir>/admin
Yönetim paneline giriş yaptıktan sonra
Yönetim sayfasındaki herhangi bir işlem sizi giriş ekranına geri döndürüyor
Bu durum başlıca şu nedenlerle ortaya çıkabilir:
- PHP oturum sorunları
- UTF8 kodlama sorunları
- IE sorunları
PHP oturumları:
- php.ini içindeki upload_tmp_dir ve session.save_path değerlerini güncelleyin
- Yapılandırılmış oturum ve yükleme dizinlerini oluşturun
- IIS: IIS konuk kullanıcı hesabına oluşturma ve değiştirme izni verin
- Apache: Web sunucunuzun yapılandırılmış dizine yazma izninin olduğundan emin olun
- php.ini içindeki "session.use_cookies" değişkeninin 1 olarak ayarlandığını kontrol edin.
- php.ini içindeki "session.auto_start" değişkenini kontrol edin. 1 olarak ayarlıysa 0 yapın.
Internet Explorer sorunları LimeSurvey artık Internet Explorer üzerinden yönetim arayüzüne erişimi desteklemiyor.
UTF8 kodlaması:
Herhangi bir dosyayı (büyük olasılıkla config.php) düzenlerseniz, özel dil karakterlerini desteklemek için dosyayı UTF8 olarak kaydetmeyin! .php dosyalarını her zaman gerçek ANSI/ISO biçiminde kaydedin.
Çok sayıda soru/yanıt seçeneği/alt soru içeren bir sayfayı göndermek çalışmıyor
PHP 5.3.9 ile (hatta bazı önceki PHP sürümlerine de uyarlanarak) yeni bir ayar eklendi: max_input_vars. Bu ayar, sunucuya POST ile gönderilebilecek en fazla değişken sayısını sınırlar. Varsayılan değer 1000'dir; ancak çok sayıda yanıt seçeneği olan bir soru veya çok sayıda soru/yanıt içeren bir anket sayfanız varsa bu sınır aşılabilir. Bu değeri PHP yapılandırma dosyanızda (php.ini) ayarlamanız gerekir.
Linux üzerinde FreeTDS ile MSSQL Server kullanılırken tarihler doğru görüntülenmiyor
FreeTDS'in locales.conf dosyasını bulun ve düzenleyin. FreeTDS kullanan başka bir uygulamanız yoksa içeriği şununla değiştirmeniz yeterlidir:
[default]
date format = %Y-%m-%d %H:%M:%S.%z
FreeTDS kullanan başka uygulamalarınız varsa önce hangi yerel ayar (locale) dosyasını düzenlemeniz gerektiğini kontrol etmek isteyebilirsiniz.
Dosyayı kaydedin ve sunucuyu yeniden başlatın. Tarihler artık doğru görüntülenmelidir. Bu işe yaramazsa yanlış dosyayı düzenlemiş olabilirsiniz; işlemi baştan tekrarlayın.
Anketime veya yönetim paneline özel karakterler (Çince, Kiril, Yunanca, Arapça) girdiğimde her karakter soru işareti olarak görünüyor?
Bu durum, veritabanının kendisi UTF-8 karakter kümesini kullanacak şekilde oluşturulmadıysa ortaya çıkar. Veritabanını bir barındırma sağlayıcısının yönetim panelinden oluşturmanız gerektiğinde bu durumla karşılaşabilirsiniz. Bu sorunu, veritabanınızda (örneğin phpMyAdmin kullanarak) aşağıdaki SQL komutunu çalıştırarak giderebilirsiniz: ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
<your_database_name> ifadesini veritabanınızın adıyla değiştirin. Bunu LimeSurvey'i kurmadan önce yapmanız gerekir.
PageSpeed, LimeSurvey'de bazı sorunlara neden oluyor
LimeSurvey sanal sunucunuza (virtualhost) ModPagespeed off satırını eklemelisiniz.
Aksi takdirde ComfortUpdate hizmetini kullanamazsınız ve verileri dışa aktaramazsınız. Büyük olasılıkla başka şeyler de çalışmayacaktır.
Anket doldurulurken
"Oturum süresi doldu" hatası
Bir noktada şuna benzer bir ileti alabilirsiniz:
ERROR
Ne yazık ki oturumunuzun geçerlilik süresi dolmuş.
Ya çok uzun süre işlem yapmadınız, ya tarayıcınızda çerezler devre dışı ya da bağlantınızda sorunlar vardı.
Sunucunuzda Suhosin etkinse, bir anketin ortasında bu iletiyi almanızın nedeni bu olabilir.
Suhosin, PHP kurulumları için gelişmiş bir koruma sistemidir ancak Suhosin'in varsayılan yapılandırması LimeSurvey ile sorunlara yol açabilir.
Öncelikle Suhosin belgelerine uygun olarak suhosin.log.sapi = 511 ve suhosin.simulation = on ayarlarını yapıp Suhosin günlüğünü kullanarak kontrol edin ve test edin.
Yapılandırma dosyası genellikle /etc/php5/apache2/conf.d/suhosin.ini konumunda bulunur; ancak doğru yoldan emin olmak için phpinfo çıktınızı (LimeSurvey yönetimi > Genel ayarlar > PHP bilgileri düğmesi > "Additional .ini files parsed" satırı) kontrol edebilirsiniz.
Parametrelerin dikkate alınması için Apache/Nginx sunucunuzu yeniden başlatmayı unutmayın (service apache2 restart veya service nginx restart).
Simülasyon açıkken Suhosin hiçbir şeyi engellemez ve hatalar günlüklere kaydedilir (genellikle sistem günlüğünüzde: /var/log/syslog). "ALERT-SIMULATION - configured POST variable limit exceeded" gibi bir hata iletisi alırsanız, bu Suhosin'in uyarısıdır. Aşağıdaki yapılandırmayı deneyin (LimeSurvey ile iyi çalıştığı görülmektedir):
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
Bu parametrelerle suhosin.simulation değerini tekrar "off" değerine getirebilmelisiniz (böylece sunucu korunur ve LimeSurvey çalışmaya devam eder).
Suhosin'in varsayılan değerleri LimeSurvey ile iyi çalışmaz. Sunucunuzu gerçekten sıkı biçimde güvenceye almak istiyorsanız, ayarı ince ayarlamak ve vars için 1000 ile 5000, value_length değerleri için 1000000 ile 5000000 arasında uygun değerleri bulmak üzere simülasyon kipini kullanabilirsiniz.
Dili değiştiremiyorum!
Hangi dili seçerseniz seçin, arayüz (yönetim ve kullanıcı) her zaman İngilizce görüntülenir. Bu durum normalde PHP sürümünüzdeki bir hatadan kaynaklanır. Bunun PHP sürümünüzü güncellemekten başka bir çözümü yoktur.
Bazı yaygın hatalar (IIS odaklı)
Index.php açılmıyor
Olası neden: Gerekli uzantıları kurmamış olmanız durumunda bu sorun yaşanabilir
- Multi-byte string ve MSSQL (veya MySQL) uzantılarını kurmanız gerekir
Olası neden: ISAPI süzgeci yapılandırılmamış
- IIS'de web sitesi için (dizin düzeyinde de yapabilirsiniz) php5isapi.dll kullanacak şekilde yapılandırma yapmanız gerekir
Index.php açılmıyor ve "php.exe -i" eksik .dll dosyalarıyla ilgili hata iletileri veriyor
Çok fazla uzantı kurarsanız bu durum ortaya çıkabilir
- Tüm PHP uzantılarını kurarsanız, tüm bağımlılıklar karşılanmadığı için PHP başarısız olur (örneğin oracle paketi oracle dll dosyalarına ihtiyaç duyar)
- Yalnızca ihtiyacınız olan uzantıları kurun
- Test etmek için komut satırından php.exe -i komutunu çalıştırmayı deneyin
Veritabanının eksik olduğunu belirten ileti
Yanlış URL'ye giderseniz bu durum ortaya çıkabilir:
- limesurvey/index.php yerine limesurvey/admin/install/index.php adresine gittiğinizden emin olun!
Yukarıdaki çözümler sorunu gidermiyor
IIS'i yeniden başlatmadıysanız bu durum ortaya çıkabilir
- IIS'i yeniden başlatın
Kolayca unutulabilen şeyler:
- .php dosyasının php5isapi.dll süzgeciyle ilişkilendirilmesi gerekir
- limesurvey/tmp dizininin anket yüklemeleri için yazma izni olması gerekir
- php.ini içindeki doc_root ve config.php içindeki $rootdir değerlerinin güncellenmesi
Eksik dosyalar ("No such file or directory")
LimeSurvey'i sunucunuza yüklerken bağlantı kesilebilir ve bazı dosyalar aktarılmayabilir veya eksik aktarılabilir. Dosyalara bağlı olarak, LimeSurvey'in farklı özelliklerine/bölümlerine eriştiğinizde farklı hata iletileri alabilirsiniz. Eksik dosyaların neden olduğu hatalar şuna benzer:
"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" VEYA
"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"
Çözüm
1. Yüklenen tüm dosyaları silin.
2. Dosyaları yeniden yükleyin.
(3. Gerekirse: /limesurveyfolder/admin/install adresine giderek yeniden kurun)
Bir sayfayı gönderdikten sonra genel dizin sayfasına/404 sayfasına yönlendiriliyorsunuz veya 'CSRF kodu doğrulanamadı' iletisini alıyorsunuz
veya
Çok sayıda yanıt/alt soru içeren bir sayfada 'Sonraki' düğmesine tıkladıktan sonra yanıtların tümü kaydedilmiyor
veya
’Sonraki’ düğmesine tıkladıktan sonra aynı sayfada kalıyorum
veya
Hızlı çeviri sistemini kullanırken yanıtlar veya alt sorular kaydedilmiyor
veya
Çok sayıda yanıt alanı dışa aktarılırken hepsi dışa aktarılmıyor
- Bunun nedeni büyük olasılıkla web sunucunuzdaki sınırlayıcı bir ayardır: max_input_vars . Bu ayar, sunucuya POST ile gönderilebilecek en fazla değişken sayısını sınırlar.
Varsayılan değer 1000'dir, ancak çok sayıda yanıt seçeneği içeren bir soru veya çok sayıda soru/yanıt içeren bir anket sayfanız varsa bu sınır aşılabilir. PHP yapılandırmanızı (php.ini) düzenlemeniz gerekir.
- Ayrıca, barındırma sağlayıcınız Apache için Suhosin uzantısını kullanıyorsa PHP ayarlarınızı kontrol edin; bazı ayarlar çok kısıtlayıcı olabilir.
- Örneğin, "suhosin.post.max_vars" ve "suhosin.request.max_vars" ayarlarının her ikisi de varsayılan olarak 200 değerine ayarlıdır. Kullanıcıların uzun anketleri tamamlayıp gönderebilmesi için bu ayarların ikisini de 400 veya daha yükseğe çıkarın.
- Hâlâ sorun yaşıyorsanız, modülü simulation_mode kipine geçirmeyi (yani temelde devre dışı bırakmayı) deneyin; çünkü en büyük değer her zaman söz konusu anketinize bağlıdır.
- Başka bir neden, büyük POST isteklerine veya aynı sayfanın arka planda birkaç kez istenmesine izin vermeyen (bu da yeni bir CSRF anahtarı oluşturulmasına yol açar) bir proxy ya da benzer bir yazılım olabilir. Bu durumda farklı bir internet bağlantısı deneyin.
Linux üzerinde FreeTDS ile MSSQL Server kullanılırken hiçbir soru gösterilmiyor
Herhangi bir soru grubunu dikkatle incelerseniz, Grup ilişkisi alanında bir boşluk olduğunu ve bunun tüm grubu ilişkisiz hâle getirdiğini görürsünüz. Temel sorun, FreeTDS'nizin yanlış yapılandırma nedeniyle boş alanlar için boşluk döndürmesidir. Bu sorunu, FreeTDS protokol sürümünü en az 8.0 olmaya zorlayarak çözebilirsiniz. Bunun için freetds.conf dosyasını (ör. /etc/freetds/freetds.conf) düzenleyin ve ilgili satırı şu şekilde değiştirin:
tds version = 8.0
Bu, sorunu çözecektir.
Anketi yanıtladıktan sonra
Katılımcı tarafından girilen metinler sonuçlarda soru işareti olarak görünüyor
Bu durum, veritabanınızın varsayılan olarak UTF-8 karakter kümesini kullanmaması hâlinde ortaya çıkar. Veritabanını bir barındırma sağlayıcısının yönetim panelinden oluşturmanız gerektiğinde bu durumla karşılaşabilirsiniz. Bu sorunu, veritabanınızda (örneğin phpMyAdmin kullanarak) aşağıdaki SQL komutunu çalıştırarak çözebilirsiniz:
ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
<your_database_name> ifadesini kendi veritabanınızın adıyla değiştirin. Bunu yaptıktan sonra anketinizi devre dışı bırakın ve yeniden etkinleştirin.
Veritabanına özgü sorunlar
LimeSurvey'in belirli bir Postgres şemasını kullanmasını istiyorum
config.php dosyasında şunu ayarlayın: 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Örnek için config-defaults dosyasına bakın.