Actions

常规问答

From LimeSurvey Manual

Revision as of 05:42, 8 September 2020 by Lacity (talk | contribs)


以下答案来自 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 服务器。

如果您使用的是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;
    }
}

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.

...关于调查的尺寸

注意: '调查尺寸' 是指你调查里问题(和答案)的最大数量 - 不要和调查的答复数量混淆(对答复没有限制)。从理论上来说,在 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% 的富裕

如何增加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' )
        ),