Actions

常规问答

From LimeSurvey Manual

This page is a translated version of the page General FAQ and the translation is 85% complete.
Outdated translations are marked like this.


以下答案来自 LimeSurvey 用户论坛。如果你有什么不明白的,或者不知道下一步该怎么做,你可以把你的问题发给其他论坛成员: https://limesurvey.org/forums. 要获得专业支持,请联系我们的认证合作伙伴:https://limesurvey.com.


入门指南

如果你不想通过阅读 LimeSurvey 手册来学习怎么做, 我们推荐你可以通过 的视频教程来学习:


如果你用任何好的视频,请不要犹豫和我们分享。


我想快速安装LimeSurvey

请从下面两个链接获得快速安装LimeSurvey的方法:


  我们正在制作介绍LimeSurvey的视频。



调查的设计和布局

我如何从 URL 路径里删掉index.php,从而得到一个短的 URL

如果你要用花式链接(每个链接里都没有/index.php), 请编辑文件 /application/config/config.php,修改下面的内容

'showScriptName' => true,

'showScriptName' => false,

要使这个设置正常工作,必须使用正确安装了 mod_rewrite 模块的Apache 服务器。

With nginx webserver

如果您使用的是Nginx http服务器(通过FastCGI运行php),并且想使用'urlFormat'=>'path'设置(请参阅config .php),请考虑以下Nginx网站配置:

server {
    set $host_path "/PATH/TO/LIMESURVEY";
    server_name  YOUR.SERVER.FQDN;
    root /PATH/TO/LIMESURVEY;
    charset utf-8;
    try_files $uri $uri/ /index.php?r=$uri&$args;
    #不允许从脚本目录内部读取, see issue with debug > 1 on note
    location ~ ^/(application|protected|framework|themes/\w+/views) {
        deny  all;
    }
    #不允许从用户上传目录直接读取
    location ~ ^/upload/surveys/.*/fu_[a-z0-9]*$ {
        return 444;
    }
    #不允许上传可执行文件到上传目录
    location ~* /upload/.*\.(pl|cgi|py|pyc|pyo|phtml|sh|lua|php|php3|php4|php5|php6|pcgi|pcgi3|pcgi4|pcgi5|pcgi6|icn)$ {
        return 444;
    }
    #避免处理yii对不存在的静态文件的调用
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }
    location ~ \.php$ {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
        try_files $uri index.php;
        fastcgi_pass   127.0.0.1:9000; # Change this to match your settings
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
    }
}
   # Allow access to well-known directory, different usage, for example ACME Challenge for Let's Encrypt
   location ~ /\.well-known {
       allow all;
   }
   # Deny all attempts to access hidden files
   # such as .htaccess, .htpasswd, .DS_Store (Mac).
       location ~ /\. {
       deny all;
   }
   #Disallow direct read user upload files
   location ~ ^/upload/surveys/.*/fu_[a-z0-9]*$ {
       return 444;
   }
   #Disallow uploaded potential executable files in upload directory
   location ~* /upload/.*\.(pl|cgi|py|pyc|pyo|phtml|sh|lua|php|php3|php4|php5|php6|pcgi|pcgi3|pcgi4|pcgi5|pcgi6|icn)$ {
       return 444;
   }
   #avoid processing of calls to unexisting static files by yii
   location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
       try_files $uri =404;
   }
   location ~ \.php$ {
       fastcgi_split_path_info  ^(.+\.php)(.*)$;
       try_files $uri index.php;
       fastcgi_pass   127.0.0.1:9000; # Change this to match your settings
       fastcgi_index index.php;
       include fastcgi_params;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
   }

}</syntaxhighlight>

Template:注意

最后的结果会是这样:


我要如何处理 * 必答题的(红色星号)?

LimeSurvey 2 的使用说明

在 LimeSurvey 2.x 里,必答题的红星是在 template.css file 文件里设置的("asterisk" c类). 要想隐藏的话:

  • 打开模板编辑器
  • 创建你要编辑的模板的副本
  • 选择 "template.css" 文件并找到 asterix 类
  • 在 asterix 类的末尾加上".asterisk {display: none;}".
  • 保持 template.css 文件
  • 清除浏览器缓存,确保编辑后的 template.css 文件不是从缓存里载入。


LimeSurvey 3 的使用说明

这个说明和上面 LimeSurvey 2 的相似。

  • 访问想要使用的主题。如果是默认的主题,通过点击 "扩展" 按钮创建一份副本。
  • 从主题列表里选择新近创建的主题,并点击其对应的 主题编辑器
  • 你可以可视化你主题对应的 左边的 CSS 文件。
  • 点击 custom.css 并加入下列内容:
.asterisk {display: none;}


  • 保存修改。通常在问题开始的位置显示的红星就被隐藏了。


如果嵌入 flash 文件?

首先,进入 全局设置 并停用 XSS-filter. 请一并阅读停用过滤器对你的实例的影响。下列步骤在过滤器启用的时候是 '没有用的 。

  1. 导航到调查里你要插入Flash 文件的位置。可能是你可以使用内置 HTML 编辑器的任何地方,比如在问题里,子问题里,答案里,调查的开始/结束文本等等。
  2. 打开 全屏编辑模式 工具栏上的 'LimeFitWin' 按钮。
  3. 在全屏编辑器的工具栏上有个带 Flash 符号的按钮,点击后会出现对话框。
  4. 在这个窗口你要么提供一个现有的 Flash 文件的路径,要么通过 '浏览服务器' 按钮选取文件。
  5. 点击了 '浏览服务器' 按钮之后,选取文件的窗口会呈现,下边有上传的按钮。选择要嵌入的文件。


就是这样!如果你发现此说明不完整,请更新对应的部分。


  注意 : LimeSurvey 3 使用的步骤是类似的。然而,我们不推荐使用Flash 文件!



我如何创建一个所有人都可以用的调查问卷?

要创建一个所有人都可以填的调查,不要创建 调差参与者列表! 并共享预览面板 里调查的链接。


公开注册-必填字段

如果你使用调差参与者 ,并且你允许 公开注册, 用户会看到下面的提示信息:



就像上面看到那样,只有邮件地址字段是必填项。

如果想要三个字段都是必填项,需要在你的主题里做相应的设置。如果你选的主题是Fruity, 你可以去 注册 界面看看参与者的邮件字段是什么样的:

        {# Participants email #}
        <div class='{{ aSurveyInfo.class.registerformcolrowc }} form-group row' {{ aSurveyInfo.attr.registerformcolrowc }}>
            <label {{ aSurveyInfo.attr.registerformcolrowclabel }} class='{{ aSurveyInfo.class.registerformcolrowclabel }}  control-label'> {{ gT("Email address:") }} {{ include('./subviews/registration/required.twig') }}</label>
            <div {{ aSurveyInfo.attr.registerformcolrowcdiv }}  >
                {{ C.Html.textField('register_email', aSurveyInfo.sEmail, ({'id' : 'register_email','class' : 'form-control input-sm','required' : true})) }}
            </div>
        </div>

然后,确保通过添加的标签来编辑对应的名和姓的字段:

{{ include('./subviews/registration/required.twig') }}

下面的内容保证字段在填写时是必填项:

'required' : true

编辑过的文件应该看起来像这样:

        {# Participants first name #}
        <div class='{{ aSurveyInfo.class.registerformcolrow }} form-group row' {{ aSurveyInfo.attr.registerformcolrow }}>
            <label for='register_firstname' class='{{ aSurveyInfo.class.registerformcolrowlabel }} control-label '>{{ gT("First name:") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
            <div class="">
                {{ C.Html.textField('register_firstname', aSurveyInfo.sFirstName, ({'id' : 'register_firstname','class' : 'form-control', 'required' : true})) }} {# mandatory field #}
            </div>
        </div>

        {# Participants last name #}
        <div class='{{ aSurveyInfo.class.registerformcolrowb }} form-group row' {{ aSurveyInfo.attr.registerformcolrowb }}>
            <label {{ aSurveyInfo.attr.registerformcolrowblabel }}  class='{{ aSurveyInfo.class.registerformcolrowblabel }} control-label '>{{ gT("Last name:") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
            <div {{ aSurveyInfo.attr.registerformcolrowbdiv }} >
                {{ C.Html.textField('register_lastname', aSurveyInfo.sLastName, ({'id' : 'register_lastname', 'class' : 'form-control', 'required' : true})) }} {# mandatory field #}
            </div>
        </div>


现在,公共注册页面样子变了 (所有的字段都是必填项了):



隐藏语言切换

隐藏语言切换的步骤在(接近调查的标题,页面的右上角) 多语言调查章节中有描述。


隐藏 退出并清空调查

要隐藏 "退出并清空调查" 按钮,你需要编辑主题里的 nav_bar.twig 文件。



要删除掉的行 (或注释掉) 是:

{{ include('./subviews/navigation/clearall_links.twig') }}



现在,就没有退出并清空调查这个选项了。



提示: 这个定制用于当你创建了一份长期调查,希望你的回馈者能够保存并能稍后再填。有时候,用户倾向于点退出并清空调查,那样会把整份未完成的调查表删掉。

救命,我不小心...

我忘了密码,怎么重置密码?

2.x 版本

  1. 用命令行访问你的调查 (比如用 ssh)
  2. 确保你有 php 命令行可用 ( 参看 http://php.net/features.commandline.php).
  3. 进入 LimeSurvey 的目录
  4. 运行命令 php application/commands/starter.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS or php application/commands/console.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASSPhp 要有目录的完全访问权限,比如 /usr/bin/php


  这个方法在LimeSurvey 3.x 中无效!



用 FTP 访问 2.x.x 和以上版本

参考 重置密码控制器


直接在数据库中改密码

如果你能够直接访问If you have direct access to the Limesurvey 的数据库,你可以用 SHA256 哈希值格式上传新密码. 你可以创建你密码的 SHA256 哈希值.

比如你可以用下面的说明设置你的密码:

UPDATE lime_users SET password = 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438 WHERE uid =1;

这个例子是以 lime_ 为前缀,并已经选择了数据库。


我怎么恢复一个停用的调查?

我们推荐用超时选项来代替停用一个调查。 如果你不小心关闭了你的调查,重要的是你没有修改调查的任何内容!

那么,只有下列步骤可以生效:

  1. 再次激活你的调查。
  2. 从工具栏选择 回应
  3. 选择"从停用的调查导入答案" 菜单,并点击导入
  4. 选择你的源表。
  5. 点击位于屏幕右上方的 "导入" 按钮。


要了解 "过期" 和 "停用" 之间的区别, 请访问wiki 部分.


我删除了一个问题/问题组/调查!

如果你真的删掉了,那就是没了。只有备份能够帮助你恢复。


如果你是 LimeSurvey GmbH 的专业客户,请通过开一个支持事件,让我们的团队为你提供和你的账号相关的备份。请注意这是项收费服务!


软硬件需求

常规需求请参考安装说明.


LimeSurvey 有哪些限制...

...关于速度

LimeSurvey 不存在速度限制。 一切都取决于你的服务器和连接的速度。如果你想在短时间内做大量用户的调查,但你不知道你的服务器能否胜任,请查看论坛里的相关主题! 或者 联系一个通过LimeSurvey 认证的合作伙伴https://limesurvey.com.

...关于调查的尺寸

MySQL and MariaDB

注意: '调查尺寸' 是指你调查里问题(和答案)的最大数量 - 不要和调查的答复数量混淆(对答复没有限制)。从理论上来说,在 LimeSurvey 里对问题/答案的最大数量也没有限制。但你使用的数据库会有些限制。 最重要的一点就是结果集的字段数量(列)限制。

  • MySQL ISAM: VARCHAR 和 CHAR 列在表中的合计长度最多到 64KB。
  • MySQL InnoDB: 最多 1000 列。
  • MS SQL Server 2000: 最多 1024 列。
  • Postgres: 取决于不同的列的数据类型,列的最大值从 250 到 1600 。可以通过增加默认块的尺寸到32k,使列的最大值增加4倍。参考Installation FAQ and PostgreSQL FAQ.
  注意 : 请在你要动手前先想想要做什么!一个10 x 10 的阵列也会占用100个列。经验法则:屏幕上每一个填写或是选择的项都会占一列!


mySQL ISAM 引擎是最麻烦的一个 (参看 mysql 文档). 由于它每行最多只允许65,535个字节和utf8字符,因此每个字符最多需要3个字节。最多只能输入21,844个字符(但这取决于您的数据库编码).

你可以大致计算调查的尺寸:

  • 每个数字问题:每个答案 20个字符
  • 每个多选和阵列题:每个答案5个字符
  • 每个其他问题类型:5个字符
  • 再打 10% 的富裕

With Microsoft SQL

There are no fixed limit on MSSQL. Some information on microsoft website.

The 8,060 bytes per row can appear after activation when you want to browse response and data. You can export answer code and not answer text or try to export only some columns.

With PostgreSQL

When you try to export response : you can have SQLSTATE[54000] error. You can export some columns. See forum post.

如何增加PostgreSQL的最大列的数量


假如你的调查包含了很多很多问题,你可以在 PostgreSQL 里定义一个不同的块尺寸来创建更多的列。这会很麻烦,因为你在设置 BLCKSZ 为一个高一些的值,比如 16kiB 或 32kiB,之后要重新编译 PostgreSQL. 查看配置选项 "--with-blocksize=BLOCKSIZE". 细节请查看 PostgreSQL 邮件列表的归档或是向 (pgsql-patches(at)postgresql(dot)org) 问询.

Debian 系统相关说明 (感谢 Martin Pitt):

sudo apt-get build-dep postgresql-8.3
apt-get source postgresql-8.3
cd postgresql-8.3-*
debian/rules patch
sensible-editor build-tree/postgresql-8.3.5/src/include/pg_config_manual.h
dpkg-buildpackage -us -uc -b -nc

注意: 以上内容在 2014年8月的 14.04 版本的 Ubuntu 上不能重现. 需要一个补丁 (配置选项还不够). 参看 (在 Liunxt 上测试 PostgreSQL 9.3 ): 如何增加安装在Linux上的PostgreSQL的最大列的数量

致命错误:允许的内存尺寸

取决于你的系统配置,你可能在运行中遇到类似下面的内存问题 "致命错误: 允许的内存尺寸 8388608 bytes 耗尽 (尝试分配 233472 bytes) 在 /path/to/htdocs/limesurvey/filename.php 的 7296 行".

你可以在通过 增加可选设置 在 LimeSurvey's 的配置文件里尝试增加限制值。

请记住,全局设置可以覆盖应用的默认设置。如何增加内存限制到128M:*memory_limit = 128M 在服务器的主 php.ini 文件里修改 (推荐,如果你有权访问)

  • memory_limit = 128M 在 LimeSurvey 根目录下的php.ini文件
  • php_value memory_limit 32M 在 LimeSurvey 根目录下的 .htaccess 文件
  • " ini_set('memory_limit', '128M'); " 在 config.php 文件里

特殊配置

某些情况下,你需要更新 LimeSurvey 的配置文件 application/config/config.php

IE 11 和 Windows 7 / Windows 8

有一个已知的会话问题会造成使用 IE 11 的用户无法完成调查。

通过给会话起不同的名字来解决这个问题。

This is done by adding this to the config file.

       // Set the name of the session
        'session' => array (
            'sessionName' => "YOURUNIQUESESSIONNAME",
        ),

同一个域里的两个 LimeSurvey 实例

如果要在同一个域里的不同文件夹里运行两个 LimeSurvey 的实例,你需要更新 会话配置.


For example, if you have example.org/ls1 and example.org/ls2, update the ls1 config file:

        'session' => array (
            'cookieParams' => array(
                    'path' => '/ls1',
                ),
            ),
        'request' => array(
            'csrfCookie' => array( 'path' => '/ls1' )
        ),