Actions

Troubleshooting/ja: Difference between revisions

From LimeSurvey Manual

(Created page with "==多数の質問/回答オプション/サブ質問を含むページを送信した後、保存されない==")
No edit summary
 
(121 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages />
<languages />
__TOC__
{{Note|以下の Wiki セクションは、複数の LimeSurvey コミュニティメンバーによる作業の結果です。より新しい情報のためには、[https://www.limesurvey.org/forum LimeSurveyフォーラム]を確認してください。専門的なサポートについては、LimeSurvey 認定パートナーのいずれかにお問い合わせください : https://limesurvey.com}}
=概要=
=概要=
このページには、インストール''後''の典型的な技術的問題とその解決方法が記載されています。インストール中に発生した問題については、[[Installation FAQ/ja|インストールに関するFAQ]]を参照してください。
このページには、インストールを完了した''後''の典型的な技術問題とその解決方法を記載しています。インストール中に発生する問題については、[[Installation FAQ/ja|インストールについてのよくある質問]]を参照してください。


=管理ログインページを開くとき=
=管理ログインページを開こうとすると=
==エラーメッセージ: インストール後に"指定された入力ファイルがない"==
==インストール後に、Error message: "No input file specified ( エラーメッセージ : 指定された入力ファイルがありません ) "==
==どのURLでもアンケートリストページになる==
==どの URL にアクセスしても、アンケート一覧ページに戻る==
インストール時に、LimeSurveyはURL形式について最適な解決方法を決定しようとします。場合によってはこれが正しく動作しないことがあります。
インストール中に、LimeSurvey は URL 形式に合わせて最適な解決策を決定しようとします。場合によっては、これが正しく動作しないことがあります。


設定ファイルを編集してLimeSurveyに別のURLマネージャーシステムを使用させる必要があります。
設定ファイルを編集して、強制的に LimeSurvey が別のURLマネージャーシステムを使うようにしなくてはなりません。


/application/config/config.phpの次の部分について、
/application/config/config.php の次の部分、


       'urlFormat' => 'path',
       'urlFormat' => 'path',


 
これを次のように置き換える :
次のように改めます。


       'urlFormat' => 'get',
       'urlFormat' => 'get',


次に短い管理URLを使用して管理画面を開きます。
こののち、以下の短い URL で管理画面を開きます。
     http://<yourserver.net>/<limesurvey_dir>/admin
     http://<yourserver.net>/<limesurvey_dir>/admin


=管理にログインした後=
=管理画面にログイン後=


==管理ページで何をしてもログイン画面に戻る==
==管理画面でどんな操作をしても、ログイン画面に戻る==


これは主に次の理由で発生します。
これは主に次の理由で発生します :
*PHPセッションの問題
*PHP セッションの問題
*UTF8エンコーディングの問題
*UTF8 エンコーディングの問題
*IE(6、7、8)の問題
*IE の問題


<u>PHPセッション:</u>
<u>PHPセッション:</u>
Line 38: Line 45:
# php.iniの変数"session.use_cookies"が1に設定されているか確認する
# php.iniの変数"session.use_cookies"が1に設定されているか確認する
# php.iniの変数"session.auto_start"を確認し、1に設定されている場合は、0に変更する。
# php.iniの変数"session.auto_start"を確認し、1に設定されている場合は、0に変更する。
<u>Internet Explorerの問題</u>
LimeSurveyは、Internet Explorerによる管理インターフェースへのアクセスをサポートしなくなりました。


<u>UTF8エンコーディング: </u>
<u>UTF8エンコーディング: </u>


任意のファイル(大抵はconfig.php)を編集した場合、特別な言語の文字をサポートするためにUTF8として保存しないでください。常にANSI/ISO形式で.phpファイルを保存してください。1.87から、'全体設定'ダイアログを使用して、アプリケーション内で最も重要な設定(サイト名、管理者名など)を行うことができます。
任意のファイル(大抵はconfig.php)を編集した場合、特別な言語の文字をサポートするためにUTF8として保存しないでください。常にANSI/ISO形式で.phpファイルを保存してください。
 
<u>IEのcookie :</u>
 
IE(6、7、8)では、サーバーのホスト名でアンダースコア"_"をサポートしていません。そのような場合、cookieは管理も設定もされません。したがって、apacheまたはIISの下で、サーバーのホスト名を変更してください。


==多数の質問/回答オプション/サブ質問を含むページを送信した後、保存されない==  
==多数の質問/回答オプション/サブ質問を含むページを送信してもうまくいかない==  


There was a new setting introduced in PHP 5.3.9 (and was even backported to some earlier PHP versions): max_input_vars. This setting limits the maximum number of variables that can be POSTed (submitted) to the server.
PHP 5.3.9で導入されたmax_input_varsという新しい設定がありました(以前のPHPバージョンにもバックポートされました)。この設定は、サーバーにPOST(送信)できる変数の最大数を制限します。
Default is set to 1000 but if you have a question with lots of answer options or a survey page with lots and lots of questions/answers this limit might be exceeded. You will need to set this in your PHP configuration (php.ini).
既定では1000に設定されていますが、多くの回答オプションがある質問やたくさんの質問/回答を含むアンケートページがある場合、この制限を超える可能性があります。これをPHP設定ファイル(php.ini)で指定する必要があります。


==Dates are not correctly displayed using MSSQL Server with FreeTDS on Linux==
==Linux上でFreeTDSとMSSQL Serverを使用すると日付が正しく表示されない==
Locate the locales.conf file of FreeTDS and edit it. If you do not have any other applications using FreeTDS just replace the contents with
FreeTDSのlocales.confファイルを見つけて編集します。FreeTDSを使用している他のアプリケーションがない場合は、次の内容に置き換えます。


<syntaxhighlight lang="ini" enclose="div">
<syntaxhighlight lang="ini">
[default]
[default]
     date format = %Y-%m-%d %H:%M:%S.%z
     date format = %Y-%m-%d %H:%M:%S.%z
</syntaxhighlight>
</syntaxhighlight>


If you have other applications using FreeTDS you might want to check first what locale you need to edit.
FreeTDSを使用している他のアプリケーションがある場合は、まず編集する必要があるロケールを確認します。


Save and restart the server. Dates should now be shown properly. If this does not work you might have edited the wrong file - rinse and repeat.
保存し、サーバーを再起動します。日付が正しく表示されるはずです。これでうまくいかない場合は、間違ったファイルを編集している可能性がありますのでやり直してください。


==When I am entering special chars (Chinese, Cyrillic, Greek, Arabic) into my survey or administration , every character is shown as a question mark?==
==アンケートや管理画面に特殊な文字(漢字、キリル文字、ギリシャ文字、アラビア文字)を入力すると疑問符「?」で表示される==


This happens if your database itself is not created to use an UTF-8 charset. This can happen when you have to create the database using a provider administration panel. You can fix this problem by executing the following SQL command on your database (using for example phpMyAdmin)
これは、データベース自体がUTF-8文字セットを使用するように作成されていない場合に発生します。これは、プロバイダーの管理パネルを使用してデータベースを作成する必要がある場合に発生します。この問題を解決するには、データベース上で次のSQLコマンドを実行します(phpMyAdminでの例)。
ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;


Replace <your_database_name> with the name of your database. '''You need to do this before installing LimeSurvey.'''
<your_database_name>をデータベースの名前に置き換えます。'''LimeSurveyをインストールする前にこれを行う必要があります。'''
 
==PageSpeed creates some troubles to Limesurvey==


You should include:
==PageSpeedによってLimesurveyで問題が生じる==
ModPagespeed off
in your limesurvey virtualhost


Otherwise, you will not be able to use ConfortUpdate neither export data. Probably something else is going to fail.
LimeSurveyのバーチャルホストに、ModPagespeed offを追加します。


=While taking a survey=
このようにしないと、ConfortUpdateを使用することも、データをエクスポートすることもできなくなります。多分ほかの何かも失敗するでしょう。
==Error "Session has expired" ==


You might, at one point, get a message like :
=アンケート実施中=
=="セッション期限切れ"エラー ==


<syntaxhighlight lang="php" enclose="div">ERROR
次のようなメッセージが表示されることがあります。


We are sorry but your session has expired.
<syntaxhighlight lang="php">ERROR


Either you have been inactive for too long, you have cookies disabled for your browser, or there were problems with your connection.</syntaxhighlight>
We are sorry but your session has expired.(申し訳ありませんが、セッションが期限切れとなりました。)


And if you have Suhosin activated on your server, that's might be the reason why you get this in the middle of a survey.
Either you have been inactive for too long, you have cookies disabled for your browser, or there were problems with your connection.(長時間アクティブでなかったか、ブラウザーでcookieが使えないか、接続に問題があったため発生しました。)</syntaxhighlight>


Note: When your survey is not active, the behavior might be different and you could be redirected in the middle of a survey to the public list of surveys. The solution is the same.
サーバー上でSuhosinを有効にしている場合は、アンケートの途中でこのエラーが発生する原因かもしれません。


Suhosin is an advanced protection system for PHP installations but the Suhosin default configuration can create troubles with LimeSurvey.
{{Note|注意: アンケートが実施中でない場合、動作が異なる場合がありますが、アンケートの途中でアンケートの公開リストにリダイレクトされることがあります。解決策は同じです。}}


First check and test using the Suhosin log, by setting suhosin.log.sapi = 511 and suhosin.simulation = on according to the [http://www.hardened-php.net/suhosin/configuration.html Suhosin documentation].
SuhosinはPHPインストールの高度な保護システムですが、Suhosinの既定の設定ではLimeSurveyに問題が発生する可能性があります。


The configuration file is usually located in /etc/php5/apache2/conf.d/suhosin.ini but to be sure you can check your phpinfo (LimeSurvey administration > Global Settings > Button Show phpinfo > Line : "Additional .ini files parsed") to get the correct path.
まず、[http://www.hardened-php.net/suhosin/configuration.html Suhosinの文書]に従って、Suhosinのログを使用して、設定がsuhosin.log.sapi = 511 と suhosin.simulation = on であることを確認し、テストします。


Don't forget to restart your Apache server for the parameters to be taken into account (service apache2 restart).
設定ファイルは通常/etc/php5/apache2/conf.d/suhosin.iniにありますが、phpinfo(LimeSurvey管理 > 全体設定 > PHPInfoを表示 > 行 : "Additional .ini files parsed")を確認し、正しいパスを取得します。


When the simulation is on, Suhosin is not blocking anything and the errors are reported into the logs (usually in your system log: /var/log/syslog). If you appear to get error messages such as "ALERT-SIMULATION - configured POST variable limit exceeded" that's Suhosin alerting...
パラメーターが反映されるよう必ずApache/Nginxサーバーを再起動してください(service apache2 restartまたはservice nginx restart)。


This configuration seems to work well with LimeSurvey:
シミュレーションがオンの場合、Suhosinは何もブロックしておらず、エラーはログに記録されます(通常はシステムログ/var/log/syslog)。"ALERT-SIMULATION - configured POST variable limit exceeded"などのSuhosinが発するエラーメッセージが表示される場合、以下の設定を試してください(LimeSurveyでうまく機能するようです)。


<syntaxhighlight lang="php" enclose="div">
<syntaxhighlight lang="php">
suhosin.memory_limit = 128
suhosin.memory_limit = 128
suhosin.post.max_value_length = 5000000
suhosin.post.max_value_length = 5000000
Line 113: Line 115:
suhosin.request.max_vars = 5000</syntaxhighlight>
suhosin.request.max_vars = 5000</syntaxhighlight>


With those parameters, you should be able to switch the suhosin.simulation back to "off" value (so that the server is protected and LimeSurvey still works).
これらのパラメータを使用すると、suhosin.simulationを"off"の値に戻すことができます(サーバーが保護され、LimeSurveyが引き続き動作します)。
 
Suhosinの既定値は、Limesurveyではうまく機能しません。サーバーをしっかりと保護したいなら、シミュレーションモードを使って設定を調整し、varsの場合は1000〜5000、value_lengthの場合は1000000〜5000000で適切な値を探ってください。
 
<div class="simplebox"> '''注意''': 最近追加された追加のPHP設定があり、これも調整する必要があります。max_input_varsという設定は、suhosin.post.max_varsと同じですが、php.iniで個別に設定する必要があります。</div>
 
==言語を変更できない==


The default values of Suhosin are not working well with limesurvey. If you really want to secure your serveur tightly you might want to use the simulation mode to tune the setting and find the good values between 1000 and 5000 for the vars and 1000000 and 5000000 for the value_lengths.
どの言語を選択しても、インターフェース(管理者とユーザー)は常に英語で表示されます。通常、これはPHPバージョンのバグが原因です。PHPのバージョンを更新すること以外に修正する方法はありません。


<div class="simplebox"> '''Note''': There was an additional PHP setting introduced recently which needs to be tweaked, too: max_input_vars - this setting is the same as suhosin.post.max_vars but needs to be set separately in php.ini. </div>
==一般的なエラー(IIS利用時)==


==I can't change the language!==
===Index.phpが開かない===


No matter what language you choose, the interface (admin and user) always is in English language. Normally this is caused by a bug in your PHP version. There is no other fix for this than updating your PHP version.
考えられる原因: これは、必要な拡張機能をインストールしていない場合に発生する可能性があります。
* マルチバイト文字とMSSQL(またはMySQL)拡張をインストールする必要があります。


==Some common errors (IIS focused)==


===Index.php won't open===
考えられる原因: ISAPIフィルターが構成されていない
* IISでは、ウェブサイト(ディレクトリレベルで行うことができます)で、php5isapi.dllを使用するように設定する必要があります。


Possible cause: This might happen if you haven't installed necessary extensions
* You need to install Multi-byte string, and MSSQL (or MySQL) extensions


Possible cause: ISAPI filter not configured
===Index.phpが開かず、"php.exe -i"から.dllがないというエラーが出る===
* In IIS, for the website (you could do it at the directory level) you must configure it to use php5isapi.dll


===Index.php won't open and "php.exe -i" gives error messages about missing .dll's===


This may happen if you install too many extensions
これは、あまりにも多くの拡張機能をインストールすると起こることがあります。
* If you install all PHP extensions, PHP will fail because not all dependencies were met (e.g. oracle package needs oracle dll's)
* すべてのPHP拡張機能をインストールすると、依存関係がすべて満たされていないため、PHPが失敗することがあります(たとえば、oracleパッケージにはoracleのdllが必要です)。
* Install only the extensions that you need
* 必要な拡張機能だけインストールします。
* To test, try running php.exe -i from the command line
* テストするには、コマンドラインから php.exe -i を実行します。


===Message stating database was missing===
===データベースが見つからないというメッセージが出る===


This may happen if you navigate to wrong url
これは間違ったURLに移動している場合に起こります。
* Make sure you go to limesurvey/admin/install/index.php instead of limesurvey/index.php !
* limesurvey/index.phpではなく、limesurvey/admin/install/index.phpに移動します。


===Above fixes do not solve the problem===
===上記では問題が解決しない===


This may happen if you have not restarted IIS
これは、IISを再起動しなかった場合に発生する可能性があります。
* Restart IIS
* IISを再起動します。


Things that were easy to forget:
忘れやすいもの。
* .php needs to be associated to php5isapi.dll filter (It did this for me automagically)
* .phpをphp5isapi.dllフィルターに関連付ける必要があります
* limesurvey/tmp directory needs writer permission for survey uploads
* limesurvey/tmpディレクトリーは、アンケートのアップロードのため、書き込み権限が必要です
* updating doc_root in php.ini and $rootdir in config.php
* php.iniでdoc_root、config.phpで$rootdirを変更します


===Missing files ("No such file or directory")===
===ファイルが見当たらない("No such file or directory"===


When uploading LimeSurvey to your server it might happen that the connection is interrupted so that some files are not transferred or not transferred completely. Depending on the files you can receive error message at different part of LimeSurvey usage. Normally missing files throw errors like
LimeSurveyをサーバーにアップロードすると、接続が中断され、一部のファイルが転送されない、または完全に転送されないことがあります。ファイルによっては、LimeSurveyのさまざまな機能や部分にアクセスするたびに、異なるエラーメッセージが表示されることがあります。ファイルが不足する場合、次のようなエラーが表示されます。


<div class="simplebox">
<div class="simplebox">


"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
"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" または、


"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"
"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"
Line 167: Line 172:
</div>
</div>


'''Solution'''
'''解決策'''


1. Delete all uploaded files.
1. アップロードしたファイルをすべて削除します


2. Re-upload the files.
2. ファイルを再度アップロードします


(3. If necessary: Re-install by browsing to /limesurveyfolder/admin/install)
(3. 必要な場合、/limesurveyfolder/admin/installを参照して再インストールしてください)


==After submitting a page you end up at the general index page/at a 404 page or you get the message 'The CSRF token could not be verified' ==
==ページを送信した後、一般的なインデックスページか404ページが表示されるか、'The CSRF token could not be verified'というメッセージが表示される ==
or
または


==After clicking 'Next' on page having a big number of answers/subquestions not all responses are saved ==
==多数の回答/サブ質問を持つページで'次へ'をクリックしてもすべての回答が保存されない ==
or
または
==After clicking 'Next' I end up on the same page==  
=='Next'をクリックしても同じページのままになる==  
or
または


==Using quick translation system don't save answers or subquestions ==
==クイック翻訳システムを使用すると回答/サブ質問が保存されない ==
or
または


==When exporting a big number of response fields not all are exported==
==多数の回答フィールドをエクスポートしても、すべてがエクスポートされない==


This is most likely because of a limiting setting in your webserver: [http://php.net/manual/en/info.configuration.php#ini.max-input-vars '''max_input_vars'''] . This setting limits the maximum number of variables that can be POSTed (submitted) to the server.
*これはウェブサーバーの設定によって制限されている可能性が高いです。[http://php.net/manual/en/info.configuration.php#ini.max-input-vars '''max_input_vars''']。この設定は、サーバーにPOST(送信)できる変数の最大数を制限します。
Default is set to 1000 but if you have a question with lots of answer options or a survey page with lots and lots of questions/answers this limit might be exceeded. You will need to set this in your PHP configuration (php.ini).
既定では1000に設定されていますが、多くの回答オプションがある質問やたくさんの質問/回答を含むアンケートページがある場合、この制限を超える可能性があります。PHP設定(php.ini)を編集する必要があります。


Also check your PHP settings if your host is using the '''Suhosin extension for Apache''' which may be set to be too limiting on a couple of settings.
*ホストで'''Suhosin extension for Apache'''を使用している場合は、PHP設定もチェックしてください。いくつかの設定を制限するようになっている可能性があります。


For example the two settings "suhosin.post.max_vars" and "suhosin.request.max_vars" are both set to a value of 200 by default. Increase those settings both to 400 or higher so users can complete and submit long surveys.
*たとえば、2つの設定"suhosin.post.max_vars" "suhosin.request.max_vars" は、既定では200と設定されています。これらの設定を400以上にして、ユーザーが長いアンケートを完了して提出できるようにします。


If you still have problems, try switching the module to simulation_mode (and so basically deactivate it), as the maximum value always depends on your particular survey.
*それでも問題が解決しない場合は、モジュールをsimulation_modeに切り替えて(つまり、基本的には無効にして)、最大値を実際のアンケートに応じて設定します。


Another reason might be a proxy or a similar software not allowing big post requests or requesting the same page several times in the background (which leads to a new CSRF-key being created). In that case try a different internet connection.
*別の理由として、プロキシまたは類似のソフトウェアが、大量の投稿要求を許可しないか、同じページをバックグラウンドで何度も要求する(新しいCSRFキーが作成されることになります)場合です。その場合は、別のインターネット接続を試してください。


==No questions are shown when using MSSQL Server with FreeTDS on Linux==
==LinuxでFreeTDSとMSSQL Serverを使用しているときに質問が表示されない==
If you check carefully any question group there is a space in the group relevance which makes the entire group non-relevant. The underlying problem is that your FreeTDS returns spaces on empty fields because of a misconfiguration. You can fix this problem by forcing the FreeTDS protocol version to at least 8.0.
質問グループを慎重にチェックすると、グループの出現条件に空白文字があり、グループ全体が出現条件に当てはまらないようになっています。根本的な問題は、あなたのFreeTDSが誤った設定により空のフィールドに空白文字を返すことです。この問題は、FreeTDSプロトコルのバージョンを少なくとも8.0にすることで解決できます。従って、freetds.conf(例えば/etc/freetds/freetds.conf)を編集して、該当する行を次のように変更してください。
So edit freetds.conf (e.g. /etc/freetds/freetds.conf) and change the according line to


     tds version = 8.0
     tds version = 8.0


Thath should fix this issue.
これで解決するはずです。


=After taking the survey=
=アンケート実施後=


==Texts that were entered by the participant appear as question marks in the results==
==参加者が入力されたテキストが結果の中で疑問符として表示される==
This happens if your database itself does not by default use an UTF-8 charset. This can happen when you have to create the database using a provider administration panel. You can fix this problem by executing the following SQL command on your database (using for example phpMyAdmin)
これは、データベース自体が既定でUTF-8文字セットを使用していない場合に発生します。これは、プロバイダー管理パネルを使用してデータベースを作成する必要がある場合に発生します。この問題は、データベース上で次のSQLコマンドを実行することで解決できます(たとえばphpMyAdminなどを使用)。


     ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
     ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;


Replace <your_database_name> with the name of your database. After you did that deactivate your survey and activate it, again.
<your_database_name>をデータベースの名前に置き換えます。その後、アンケートを無効にしてから再度有効にしてください。
 
=データベース固有の問題=
 
== LimeSurveyで特定のPostgresスキーマを使用する方法 ==
config.phpで次の設定をします。
'initSQLs' => array('SET search_path TO "LimeSurvey";')
config-defaultsで例を確認してください。

Latest revision as of 08:50, 11 December 2023



以下の Wiki セクションは、複数の LimeSurvey コミュニティメンバーによる作業の結果です。より新しい情報のためには、LimeSurveyフォーラムを確認してください。専門的なサポートについては、LimeSurvey 認定パートナーのいずれかにお問い合わせください : https://limesurvey.com


概要

このページには、インストールを完了したの典型的な技術問題とその解決方法を記載しています。インストール中に発生する問題については、インストールについてのよくある質問を参照してください。

管理ログインページを開こうとすると

インストール後に、Error message: "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セッション:

  1. php.iniのupload_tmp_dirとsession.save_pathを更新する
  2. 設定済みのセッションを作成してディレクトリーをアップロードする
  3. IIS: IISゲストユーザーアカウントの作成および変更の権限割り当て
  4. Apache: 設定されたディレクトリーへの書き込み権限がWebサーバーにあることを確認する
  5. php.iniの変数"session.use_cookies"が1に設定されているか確認する
  6. php.iniの変数"session.auto_start"を確認し、1に設定されている場合は、0に変更する。

Internet Explorerの問題 LimeSurveyは、Internet Explorerによる管理インターフェースへのアクセスをサポートしなくなりました。

UTF8エンコーディング:

任意のファイル(大抵はconfig.php)を編集した場合、特別な言語の文字をサポートするためにUTF8として保存しないでください。常にANSI/ISO形式で.phpファイルを保存してください。

多数の質問/回答オプション/サブ質問を含むページを送信してもうまくいかない

PHP 5.3.9で導入されたmax_input_varsという新しい設定がありました(以前のPHPバージョンにもバックポートされました)。この設定は、サーバーにPOST(送信)できる変数の最大数を制限します。 既定では1000に設定されていますが、多くの回答オプションがある質問やたくさんの質問/回答を含むアンケートページがある場合、この制限を超える可能性があります。これをPHP設定ファイル(php.ini)で指定する必要があります。

Linux上でFreeTDSとMSSQL Serverを使用すると日付が正しく表示されない

FreeTDSのlocales.confファイルを見つけて編集します。FreeTDSを使用している他のアプリケーションがない場合は、次の内容に置き換えます。

[default]
    date format = %Y-%m-%d %H:%M:%S.%z

FreeTDSを使用している他のアプリケーションがある場合は、まず編集する必要があるロケールを確認します。

保存し、サーバーを再起動します。日付が正しく表示されるはずです。これでうまくいかない場合は、間違ったファイルを編集している可能性がありますのでやり直してください。

アンケートや管理画面に特殊な文字(漢字、キリル文字、ギリシャ文字、アラビア文字)を入力すると疑問符「?」で表示される

これは、データベース自体がUTF-8文字セットを使用するように作成されていない場合に発生します。これは、プロバイダーの管理パネルを使用してデータベースを作成する必要がある場合に発生します。この問題を解決するには、データベース上で次のSQLコマンドを実行します(phpMyAdminでの例)。 ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

<your_database_name>をデータベースの名前に置き換えます。LimeSurveyをインストールする前にこれを行う必要があります。

PageSpeedによってLimesurveyで問題が生じる

LimeSurveyのバーチャルホストに、ModPagespeed offを追加します。

このようにしないと、ConfortUpdateを使用することも、データをエクスポートすることもできなくなります。多分ほかの何かも失敗するでしょう。

アンケート実施中

"セッション期限切れ"エラー

次のようなメッセージが表示されることがあります。

ERROR

We are sorry but your session has expired.(申し訳ありませんが、セッションが期限切れとなりました。)

Either you have been inactive for too long, you have cookies disabled for your browser, or there were problems with your connection.(長時間アクティブでなかったか、ブラウザーでcookieが使えないか、接続に問題があったため発生しました。)

サーバー上でSuhosinを有効にしている場合は、アンケートの途中でこのエラーが発生する原因かもしれません。

注意: アンケートが実施中でない場合、動作が異なる場合がありますが、アンケートの途中でアンケートの公開リストにリダイレクトされることがあります。解決策は同じです。

SuhosinはPHPインストールの高度な保護システムですが、Suhosinの既定の設定ではLimeSurveyに問題が発生する可能性があります。

まず、Suhosinの文書に従って、Suhosinのログを使用して、設定がsuhosin.log.sapi = 511 と suhosin.simulation = on であることを確認し、テストします。

設定ファイルは通常/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_lengthの場合は1000000〜5000000で適切な値を探ってください。

注意: 最近追加された追加のPHP設定があり、これも調整する必要があります。max_input_varsという設定は、suhosin.post.max_varsと同じですが、php.iniで個別に設定する必要があります。

言語を変更できない

どの言語を選択しても、インターフェース(管理者とユーザー)は常に英語で表示されます。通常、これはPHPバージョンのバグが原因です。PHPのバージョンを更新すること以外に修正する方法はありません。

一般的なエラー(IIS利用時)

Index.phpが開かない

考えられる原因: これは、必要な拡張機能をインストールしていない場合に発生する可能性があります。

  • マルチバイト文字と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" または、

"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'というメッセージが表示される

または

多数の回答/サブ質問を持つページで'次へ'をクリックしてもすべての回答が保存されない

または

'Next'をクリックしても同じページのままになる

または

クイック翻訳システムを使用すると回答/サブ質問が保存されない

または

多数の回答フィールドをエクスポートしても、すべてがエクスポートされない

  • これはウェブサーバーの設定によって制限されている可能性が高いです。max_input_vars。この設定は、サーバーにPOST(送信)できる変数の最大数を制限します。

既定では1000に設定されていますが、多くの回答オプションがある質問やたくさんの質問/回答を含むアンケートページがある場合、この制限を超える可能性があります。PHP設定(php.ini)を編集する必要があります。

  • ホストでSuhosin extension for Apacheを使用している場合は、PHP設定もチェックしてください。いくつかの設定を制限するようになっている可能性があります。
  • たとえば、2つの設定"suhosin.post.max_vars" と "suhosin.request.max_vars" は、既定では200と設定されています。これらの設定を400以上にして、ユーザーが長いアンケートを完了して提出できるようにします。
  • それでも問題が解決しない場合は、モジュールをsimulation_modeに切り替えて(つまり、基本的には無効にして)、最大値を実際のアンケートに応じて設定します。
  • 別の理由として、プロキシまたは類似のソフトウェアが、大量の投稿要求を許可しないか、同じページをバックグラウンドで何度も要求する(新しいCSRFキーが作成されることになります)場合です。その場合は、別のインターネット接続を試してください。

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で例を確認してください。