安装常见问题
From LimeSurvey Manual
目录:
在您的计算机上安装
您可以使用 MAMP/XAMPP 或任何其他系统将 LimeSurvey 安装在您的计算机上。请注意,您的计算机并不是 Web 服务器,其他用户无法通过网络访问它。
若要让其他用户可以通过网络访问您的调查,您需要:
- 拥有服务器或向主机提供商租用网络空间
- 或者选择专门支持 LimeSurvey 的主机提供商
开始安装
如何通过命令行在 MySQL 中创建数据库和用户?
您需要在 MySQL 中输入以下命令:
create database <your_database_name>;
create user <your_database_username>;
create user <your_database_username>@localhost;
set password for <your_database_username> = PASSWORD('<your_database_password>');
set password for <your_database_username>@localhost = PASSWORD('<your_database_password>');
grant all on <your_database_name>.* to '<your_database_username>';
grant all on <your_database_name>.* to '<your_database_username>'@'localhost';
在终端中,<your_database_name>、<your_database_username> 和 <your_database_password> 必须替换为相应的所需值。
如果无法通过脚本创建数据库怎么办?
通常情况下,脚本会先创建新数据库,然后创建表结构。但是,如果您的服务器/ISP 没有授予您在 MySQL 中创建新数据库的管理员权限,则需要联系服务器管理员来创建所需的数据库(如果您获得了所需的权限,也可以自行创建)。新创建的空数据库应包含相应的访问权限(即:读取/写入/创建)。之后,您就可以开始 LimeSurvey 的安装,安装程序将在新创建的数据库中创建数据表。
访问安装页面时出现空白页
此问题并非出现在 LimeSurvey 安装过程中,而是出现在 PHP 安装中。
- 请确认已安装 MySQL 的 PHP 模块(php-mysql)。
- 请确认您的 PHP 加载的是您正在修改的 PHP.ini 文件,而不是系统中的其他 PHP.INI 文件。
- 请确认 PHP.ini 中以下设置的位置和权限:
upload_tmp_dir="/temp"
session.save_path="/temp"
- 请确认您的服务器运行的是合适的 PHP版本。
因资源不存在而导致的错误消息
有时文件上传不正确,或在上传过程中损坏,这会导致出现多种不同的错误消息。其中大多数是指找不到某个文件或文件中的某个函数。
解决方法:请使用 FTP 程序的二进制模式重新上传所有文件。
要求页面
什么是 mbstring(多字节字符串函数)库?
mbstring 库是一个 PHP 库,可以将字符集从一种语言转换为另一种语言。如果要运行 LimeSurvey,就需要它。若要检查它是否已安装,请在网络浏览器中打开以下 URL:
http://<your_server>/<your_limesurvey_directory>/admin/install/phpinfo.php
页面将显示大量信息。请在配置部分搜索字符串“mbstring”。如果找到 mbstring 部分,则一切正常,您可以继续安装 LimeSurvey!
如果找不到 mbstring 部分,您可能遇到了问题。有以下三种可能的情况:
- 如果是主机提供商的服务器,请要求其在 PHP 中启用该扩展,或询问如何启用——如果您的服务器有完善的管理面板,您也许可以自行启用
- 如果是您自己的Linux服务器,您可能需要重新编译 PHP 并包含 mbstring 库。请向 Linux 专家咨询具体方法。不过,您也可以使用 Linux 包管理器进行安装,如今几乎所有 Linux 发行版都提供包管理器
- 如果您使用的 Linux 版本支持“yum”(CentOS、RedHat、Fedora)...
- ...请以超级用户身份使用终端并输入:yum install php-mbstring
- ...请务必更新 /etc/php.ini,并取消注释各个 mbstring 参数
- ...安装后请务必重启 apache:/etc/init.d/httpd restart
- 如果您使用的 Linux 版本支持“yum”(CentOS、RedHat、Fedora)...
- 如果是您自己的Windows服务器,请在系统中搜索 php.ini,用编辑器打开,并搜索 mbstring。包含该字符串的行很可能被分号注释掉了。请删除分号,保存并重启您的 Web 服务器
卡在检查文件系统权限
如果启用了 SELinux(主要见于 CentOS),即使目录列表为空,您也可能收到文件系统权限不正确的错误。即使权限设置为 777 或 755,SELinux 仍会阻止写入。要为您的服务器正确配置 SELinux,请查阅 SELinux 文档。
数据库创建之后
数据库创建后出现空白页
症状
- LimeSurvey 已正确安装且数据库已创建,但您看到的不是管理页面,而是一个空白页
- Web 服务器日志显示 "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"
解决方法
这可能与 config.php 中 $rooturl 或 $rootdir 的设置不正确有关。config.php 文件会尝试通过调用 dirname('''FILE''') 来正确设置 $rootdir。这通常有效,但如果 LimeSurvey 安装在用户的主目录或 public_html 目录中,且该主目录是通过 NFS 挂载的,就可能出错。要手动设置 $rootdir(您的 shell 或 pwd 命令可能显示类似 /disks/hostname/home/username/public_html/limesurvey 的路径),请尝试使用 /home/username/public_html/limesurvey。
访问管理页面时,浏览器一直在运行,最终无法显示页面
症状
- LimeSurvey 已正确安装且数据库已创建。但是,当您访问管理页面时,浏览器一直在运行,最终无法显示该页面
- 检查 Web 服务器访问日志时,发现其体积变得非常大(某些情况下超过 2 GB)
- 访问日志中充满了以下信息:
解决方法
这可能是由 mbstring.func_overload 设置引起的。请在 php.ini 文件中修改以下设置:
mbstring.func_overload = 0
访问管理页面时,浏览器报告 Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76
症状
- LimeSurvey 已正确安装且数据库已创建。但在重定向到管理页面时,浏览器显示了上述错误。
- config.php 中的
$rootdir和$rooturl设置正确。 - limesurvey 安装目录的磁盘路径名包含以下字符之一:'(',')' 或 '+'。
解决方法
请移动或重命名 LimeSurvey 安装目录,使路径名不包含以下任何字符:'(',')' 或 '+'。
安装之后
对于成功安装后可能出现的所有其他问题,请参阅故障排除页面。