Actions

Installation FAQ/zh-hant: Difference between revisions

From LimeSurvey Manual

(Created page with "然後用瀏覽器打開檔案,你會看到一些信息. 查看字串 'mbstring'. 如果找得到,請繼續. 如果你找不到,可能出於以下的原因︰ *問題出...")
(Updating to match new version of source page)
 
(16 intermediate revisions by 2 users not shown)
Line 2: Line 2:
Contents:
Contents:


=During Installation (Limesurvey 1.92 and below)=
=Installation on your computer=


LimeSurvey can be installed on your computer with MAMP/XAMPP or any other system. Bear in mind that your computer is not a web server - it's not accessible via web to any other user.
In order to make your survey reachable to other users via the web, you need to either:
* own a server or a web space from a host provider
* or find a LimeSurvey-specialized host provider
=Starting installation=
<div class="mw-translate-fuzzy">
===如果我無法透過安裝程序建立數據庫,怎麼辦?===
===如果我無法透過安裝程序建立數據庫,怎麼辦?===
</div>


<span class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
一般而言, 安裝程序會自動建立全新的數據庫及資料表結構,但若果您的伺服器/ISP 不給與您管理 MySQL 數據庫的權限去建立資料表,您就需要向伺服器供應商聯絡,確保它們為您建立所需的數據庫. 它們或許會為您建立空白的數據庫,然後讓您有存取的權限 (ie: read/write/create). 輸入數據庫的名稱,並在 config.php 檔案內設定用戶名稱及密碼, 然後就可以執行 admin.php 程序. 安裝過程需要在數據庫逐筆建立所需的資料表。
一般而言, 安裝程序會自動建立全新的數據庫及資料表結構,但若果您的伺服器/ISP 不給與您管理 MySQL 數據庫的權限去建立資料表,您就需要向伺服器供應商聯絡,確保它們為您建立所需的數據庫. 它們或許會為您建立空白的數據庫,然後讓您有存取的權限 (ie: read/write/create). 輸入數據庫的名稱,並在 config.php 檔案內設定用戶名稱及密碼, 然後就可以執行 admin.php 程序. 安裝過程需要在數據庫逐筆建立所需的資料表。
</span>
</div>


create database '''<your_database_name>''';
*<code>create database '''<your_database_name>''';</code>


create user '''<your_database_username>''';
*<code>create user '''<your_database_username>''';</code>


create user '''<your_database_username>'''@localhost;
*<code>create user '''<your_database_username>'''@localhost;</code>


set password for '''<your_database_username>''' = PASSWORD(''''<your_database_password>'''');
*<code>set password for '''<your_database_username>''' = PASSWORD(''''<your_database_password>'''');</code>


set password for '''<your_database_username>'''@localhost = PASSWORD(''''<your_database_password>'''');
*<code>set password for '''<your_database_username>'''@localhost = PASSWORD(''''<your_database_password>'''');</code>


grant all on '''<your_database_name>'''.* to ''''<your_database_username>'''';
*<code>grant all on '''<your_database_name>'''.* to ''''<your_database_username>'''';</code>


grant all on '''<your_database_name>'''.* to ''''<your_database_username>''''@'localhost';
*<code>grant all on '''<your_database_name>'''.* to ''''<your_database_username>''''@'localhost';</code>


You have to replace '''<your_database_name>''', '''<your_database_username>''' and '''<your_database_password>''' in above commands with according values.
In terminal, <code>'''<your_database_name>'''</code>, <code>'''<your_database_username>'''</code>, and <code>'''<your_database_password>'''</code> have to be replaced with the according/desired values.


===我應該設定甚麼權限?===
===我應該設定甚麼權限?===


<div class="mw-translate-fuzzy">
/limesurvey/tmp 目錄需要設定 read/write/execute  的使用權限 (chmod 777) - 本目錄存放所有上傳檔案及暫時建立的檔案. 其他全部目錄及檔案可以設定為 read/execute 的使用權限 (chmod 755). 但是 如果您想使用內建的 apache 安全工具 (去建立 htpasswd 及 htaccess 檔案) admin 目錄就需要設定成 read/write/execute (777). admin 目錄裏面的檔案則可以設定成 read/execute (chmod 755).
/limesurvey/tmp 目錄需要設定 read/write/execute  的使用權限 (chmod 777) - 本目錄存放所有上傳檔案及暫時建立的檔案. 其他全部目錄及檔案可以設定為 read/execute 的使用權限 (chmod 755). 但是 如果您想使用內建的 apache 安全工具 (去建立 htpasswd 及 htaccess 檔案) admin 目錄就需要設定成 read/write/execute (777). admin 目錄裏面的檔案則可以設定成 read/execute (chmod 755).
</div>


===mbstring (Multibyte String Functions) library 是甚麼?===
==Blank page when accessing the install page==


The mbstring library 是 PHP 函數程序庫,可以把字元集轉換語言. 如果你要執行 LimeSurvey.,京可能用得上它。 想檢視一下是否已安裝這個函數程序庫,你可以在網站空間建立一個 test.php 檔案,內容如下︰
This problem doesn't occur within the LimeSurvey installation but within the PHP installation.
*Verify you have the MySQL PHP module (php-mysql) installed.
*Verify your PHP install is loading the PHP.ini file your are modifying and not parsing other PHP.INI files on your system.
*Verify the location and permissions of the following setting in your PHP.ini:


 <?php phpinfo(); ?>
<syntaxhighlight lang="c">upload_tmp_dir="/temp"


然後用瀏覽器打開檔案,你會看到一些信息. 查看字串 'mbstring'. 如果找得到,請繼續. 如果你找不到,可能出於以下的原因︰
session.save_path="/temp"</syntaxhighlight>
*Verify that your server runs a suitable PHP version.


If you find the mbstring section then all should be well and you can continue on with your LimeSurvey installation!
==Error messages due to non-existing resources==


'''If you don't find the mbstring section''' you might have a problem on your hands.
Sometimes, files are not uploaded correctly or are broken during the upload process. This leads to several different error messages. Most of them refer to a file or function within a file which can't be found.


然後用瀏覽器打開檔案,你會看到一些信息. 查看字串 'mbstring'. 如果找得到,請繼續. 如果你找不到,可能出於以下的原因︰
'''Solution:''' Re-upload all files using the binary mode of your FTP programme.
*問題出在伺服器供應商. 向它請求啟用 php 內的該項延伸功能. 如果它介以客為尊,就可以照樣辦得到。
*問題出在你的 Linux 伺服器. 你要重新編譯 PHP ,並包含 mbstring library. 可以請救 Linux 專家的做法.
**如果使用支援 'yum' (CentOS, RedHat, Fedora) 的Linux 系統, 你可以容易使用到終端機鍵入:
***'''yum install php-mbstring'''
**安裝後必須重新啟動 apache:
***'''/etc/init.d/httpd restart'''
*問題出在你的 windows 伺服器. Oh.. 這容易之至. 在系統搜尋 php.ini 檔案, 然後用編輯器打開它去搜尋 mbstring. 通常這一句的句首會有分號標示為註腳. 只需要移除這個分號,存檔,然後把伺服器重新開機即可。


==When I am entering special chars (Chinese, Cyrillic, Greek, Arabic) into my survey, every character is shown as a question mark?==
=Requirements page=


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)
<div class="mw-translate-fuzzy">
===mbstring (Multibyte String Functions) library 是甚麼?===
</div>


ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
<div class="mw-translate-fuzzy">
The mbstring library 是 PHP 函數程序庫,可以把字元集轉換語言. 如果你要執行 LimeSurvey.,京可能用得上它。 想檢視一下是否已安裝這個函數程序庫,你可以在網站空間建立一個 test.php 檔案,內容如下︰
</div>  


Replace <your_database_name> with the name of your database. '''You need to do this before installing LimeSurvey.'''
<nowiki>http://<your_server>/<your_limesurvey_directory>/admin/install/phpinfo.php</nowiki>


==Blank page when accessing the Install page==
<div class="mw-translate-fuzzy">
 
然後用瀏覽器打開檔案,你會看到一些信息. 查看字串 'mbstring'. 如果找得到,請繼續. 如果你找不到,可能出於以下的原因︰
The problem is not with the LimeSurvey installation but with the PHP installation.
</div>
*Verify you have the MySQL PHP module (php-mysql) installed.
*Verify your PHP install is loading the PHP.ini file your are modifying and not parsing other PHP.INI files on your system.
*Verify the location and permissions of the following setting in your PHP.ini
 
<syntaxhighlight lang="c" enclose="div">upload_tmp_dir="/temp"
 
session.save_path="/temp"</syntaxhighlight>
*Verify your server runs a suitable PHP version (e.g. this "blank page" problem appeared with PHP v4.4 and LimeSurvey v2.00+).
 
==Error messages because of a not existing ressources==
 
Sometimes files are not uploaded correctly or were broken during upload. This leads to several different error messages. Most of them refer to a file or function within a file which can't be found.


'''Solution:''' Re-upload all files using the binary mode of your FTP program.
'''If you don't find the mbstring section''', you might have a problem on your hands. There are three possible scenarios:
*If it's your host provider's server, ask for the activation of that extension in PHP or for further information on how you can activate it - if you have a good administration panel for your server, you may be able to activate it yourself
*If it's your own '''Linux''' server, you may have to re-compile PHP and include the mbstring library. Ask the Linux experts how to do that. However, you can install it using your Linux package manager, which is mostly available in all the Linux distributions nowadays
**If you are using a version of Linux that supports 'yum' (CentOS, RedHat, Fedora)...
***...use the terminal (as a super user) and type: '''yum install php-mbstring'''
***...make sure to update /etc/php.ini and uncomment the various mbstring params
***...make sure to restart apache after installing it: '''/etc/init.d/httpd restart'''
*If it's your own '''Windows''' server, search for php.ini on your system, open it with an editor, and search for mbstring. Most probably, the line that contains the string is commented out with a semicolon. Remove the semicolon, save and restart your web server


=During Installation (Limesurvey 2.0 and above)=
== Stuck at checking file system permissions ==
If SELinux is activated (primarily on CentOS), then you might get an error that the file system permissions are not correct, even if the list of directories is empty. SELinux prevents writing even though the permissions are for example on 777 or 755. To configure SELinux correctly for your server - check out the [https://wiki.centos.org/HowTos/SELinux SELinux documentation].


==ADD NEW TOPICS HERE (Thanks!)==
=After database creation=


=After Database Creation=
==Blank page after database creation==
 
==Blank Page after Database Creation==


===Symptoms===
===Symptoms===
* LimeSurvey installed OK, and database was created, but instead of the admin page, you get an empty page
* LimeSurvey is installed correctly and the database was created, but instead of the admin page, you get an empty page
* Web surver log shows "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"
* Web server log shows ''"Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"''


===Fix===
===Fix===


This is probably an incorrect setting for $rooturl or $rootdir in config.php. In particular, config.php attempts to set $rootdir correctly by calling <nowiki>dirname('''FILE''')</nowiki> and while this usually works, it can be upset when LimeSurvey is installed in a user's home or public_html directory and the home directory is mounted over NFS. Try setting $rootdir manually, and in particular, while your shell or pwd command may show a path like "/disks/hostname/home/username/public_html/limesurvey", try using "/home/username/public_html/limesurvey".
This is probably related to an incorrect setting for <code>$rooturl</code> or <code>$rootdir</code> in config.php. The file config.php attempts to set <code>$rootdir</code> correctly by calling <code><nowiki>dirname('''FILE''')</nowiki></code>. While this usually works, it can be upset when LimeSurvey is installed in a user's home or public_html directory and the home directory is mounted over NFS. To set up the <code>$rootdir</code> manually, (your shell or pwd command may show you a path like /disks/hostname/home/username/public_html/limesurvey), try using /home/username/public_html/limesurvey.


==When accessing admin page, the browser keeps running and will eventually fail to show it==
==When accessing the admin page, the browser keeps running and will eventually fail to show it==


===Symptoms===
===Symptoms===
* LimeSurvey installed OK and database was created. But when you access the admin page, the browser keeps running and will eventually fail to show the page.
* LimeSurvey is installed correctly and the database was created. However, when you access the admin page, the browser keeps running and will eventually fail to show the page
* When you check the web server access log, its size has become so big (in some cases, more than 2 GB).
* When you check the web server access log, its size has become quite big (in some cases, more than 2 GB)
* Inside the access log, you get this message filling the log.
* Inside the access log, you get this message filling the log:


Warning: fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120
{{Alert|title=Warning|text=''fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120.}}''


''Note:'' line number may be different depending on your LimeSurvey version.
{{Note|The line number may be different depending on your LimeSurvey version.}}


===Fix===
===Fix===


This may be caused by the mbstring.func_overload setting. Check the setting in your php.ini and set as the following.
This may be caused by the mbstring.func_overload setting. Change the following setting in the php.ini file:
 
<syntaxhighlight lang="php" enclose="pre">
mbstring.func_overload = 0
mbstring.func_overload = 0
</syntaxhighlight>


''Note:'' This means no function overloading. See PHP manual for this setting: [http://us3.php.net/manual/en/mbstring.overload.php Function Overloading Feature]
{{Note|This means no function overloading. See the PHP manual for this setting: [http://us3.php.net/manual/en/mbstring.overload.php Function Overloading Feature].}}


==When accessing admin page, the browser reports Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76==
==When accessing the admin page, the browser reports Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76==


===Symptoms===
===Symptoms===
* LimeSurvey installed OK and database was created. But when rdirected to the admin page, the browser displayed the the listed error.
* LimeSurvey is installed correctly and the database was created. But when redirected to the admin page, the browser displayed the listed error.
* $rootdir and $rooturl are correctly set in config.php.
* <code>$rootdir</code> and <code>$rooturl</code> are correctly set in config.php.
* The disk path name for limesurvey installation directory includes one of the following characters: ()+
* The disk path name for limesurvey installation directory includes one of the following characters: '(',')' or '+'.


''Note:'' Other characters may also induce the same behaviour
{{Alert|title=Attention|text=Other characters may also induce the same behavior.}}


===Fix===
===Fix===


Move / rename the limesurvey installation directory so that pathname does not include either the '''(''' or ''')''' characters
Move/rename the LimeSurvey installation directory so that the path name includes non of the following characters: '(',')' or '+' characters.
 
=After Login=
 
==Any action in admin page will return you to login screen==
 
This may happen for the following two main reasons :
*PHP sessions problems
*UTF8 encoding problems
*IE (6,7 and 8) problems
 
<u>PHP Sessions :</u>
# Update upload_tmp_dir and session.save_path in php.ini
# Create the configured session and upload directories
# IIS: Assigned permission to create and modify to IIS guest user account
# Apache: Make sure your webserver has permissions to write into the configured directory
# Check if the variable  "session.use_cookies" in php.ini is set to 1.
# Check the variable "session.auto_start" in php.ini. If it is set to 1, change it to 0.
 
<u>UTF8 Encoding : </u>
 
If you edit any file (most probably config.php) do not save it as UTF8 to support special language chars! Always save .php files as true ANSI/ISO format. Starting with 1.87 you can set the most important settings inside the application using the 'Global settings' dialog (like site name, administrator name, etc.).
 
<u>IE Cookies :</u>
 
IE (6,7 and 8) does not support underscore "_" in the server hostname. If it is the case, the cookies are not managed and cookie(s) is(are) not set. So change the server hostname under apache or IIS.
 
==LimeSurvey and suhosin ("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.
 
Either you have been inactive for too long, you have cookies disabled for your browser, or there were problems with your connection.</syntaxhighlight>
 
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.
 
NB : when your survey is not active, the behaviour might be different, you could be redirected in the middle of a survey to the public list of surveys. The solution is the same.
 
Suhosin is an advanced protection system for PHP installations. Suhosin default configuration can make trouble to LimeSurvey installation.
 
First think to test with suhosin log, set suhosin.log.sapi = 511 and suhosin.simulation = on according with [http://www.hardened-php.net/suhosin/configuration.html suhosin documentation].
 
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.
 
Don't forget to restart your Apache server for the parameters to be taken into account (service apache2 restart).
 
When the simulation is on, Suhosin is not blocking anything and the errors are reported into the logs (usually in your syslog : /var/log/syslog). If you appear to get error messages such as "ALERT-SIMULATION - configured POST variable limit exceeded" that's Suhosin alerting...
 
This configuration seems to work well with Limesurvey:
 
<syntaxhighlight lang="php" enclose="div">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</syntaxhighlight>
 
With those parameters, you should be able to put the suhosin.simulation back at the "off" value (so that the serveur is protected and limesurvey still works).
 
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_lenghts.
 
<div class="simplebox"> Note: There was an additional PHP setting introduced recently: max_input_vars - this setting is the same as suhosin.post.max_vars but needs to be set separately in php.ini . </div>
 
==LimeSurvey and suhosin ("quick translate trouble")==
 
You can have some problem with the quick translate module when you are on OpenBSD 5.1 with php-5.3.10.
 
The symptom is : modification via "Quick translate --> options answer" are not update
 
You must downgrade your php version to php-5.2.17p8 and use the suhosin tweak proposed above.
 
==I can't change the language!==
 
No matter what language you choose, the interface (admin und 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.
 
==Some common errors (IIS focused)==
 
===Index.php won't open===
 
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
* 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)
* Install only the extensions that you need
* To test, try running php.exe -i from the command line
 
===Message stating database was missing===
 
This may happen if you navigate to wrong url
* Make sure you go to limesurvey/admin/install/index.php instead of limesurvey/index.php !
 
===Above fixes do not solve the problem===
 
This may happen if you have not restarted IIS
* Restart IIS
 
Things that were easy to forget:
* .php needs to be associated to php5isapi.dll filter (It did this for me automagically)
* limesurvey/tmp directory needs writer permission for survey uploads
* updating doc_root in php.ini and $rootdir in config.php
 
===Missing files ("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
 
<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
 
"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"
 
</div>
 
'''Solution'''
 
1. Delete all uploaded files.
 
2. Re-upload the files.
 
(3. If necessary: Re-install by browsing to /limesurveyfolder/admin/install)
 
==Not able to add or edit subquestions/answers after upgrade==
 
If you're not capable of editing or adding a question, ask youre host provider to change the mod_security setting of the domain name. See the forum thread [http://www.limesurvey.org/en/support/forums/1-installation-a-update-issues/46435-not-able-to-add-or-edit-questions-on-new-190-?limit=10 Not Able to Add or Edit Questions on new 1.90] for more info.
 
==Fancy URLs by removing index.php from the URL path==
 
If you want to use fancy URLs and so not have /index.php in every URL please edit /application/config/config.php and change
 
<syntaxhighlight lang="php" enclose="div">'showScriptName' => true,</syntaxhighlight>
 
to


<syntaxhighlight lang="php" enclose="div">'showScriptName' => false,</syntaxhighlight>
=After installation=  


For this to work properly you must use an Apache webserver with a properly installed mod_rewrite module.
For all the other issues that may occur after a successful installation, please refer to the [[Troubleshooting|troubleshooting page]].

Latest revision as of 11:15, 27 June 2023

Contents:

Installation on your computer

LimeSurvey can be installed on your computer with MAMP/XAMPP or any other system. Bear in mind that your computer is not a web server - it's not accessible via web to any other user.

In order to make your survey reachable to other users via the web, you need to either:

  • own a server or a web space from a host provider
  • or find a LimeSurvey-specialized host provider

Starting installation

如果我無法透過安裝程序建立數據庫,怎麼辦?

一般而言, 安裝程序會自動建立全新的數據庫及資料表結構,但若果您的伺服器/ISP 不給與您管理 MySQL 數據庫的權限去建立資料表,您就需要向伺服器供應商聯絡,確保它們為您建立所需的數據庫. 它們或許會為您建立空白的數據庫,然後讓您有存取的權限 (ie: read/write/create). 輸入數據庫的名稱,並在 config.php 檔案內設定用戶名稱及密碼, 然後就可以執行 admin.php 程序. 安裝過程需要在數據庫逐筆建立所需的資料表。

  • 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';

In terminal, <your_database_name>, <your_database_username>, and <your_database_password> have to be replaced with the according/desired values.

我應該設定甚麼權限?

/limesurvey/tmp 目錄需要設定 read/write/execute  的使用權限 (chmod 777) - 本目錄存放所有上傳檔案及暫時建立的檔案. 其他全部目錄及檔案可以設定為 read/execute 的使用權限 (chmod 755). 但是 如果您想使用內建的 apache 安全工具 (去建立 htpasswd 及 htaccess 檔案) admin 目錄就需要設定成 read/write/execute (777). admin 目錄裏面的檔案則可以設定成 read/execute (chmod 755).

Blank page when accessing the install page

This problem doesn't occur within the LimeSurvey installation but within the PHP installation.

  • Verify you have the MySQL PHP module (php-mysql) installed.
  • Verify your PHP install is loading the PHP.ini file your are modifying and not parsing other PHP.INI files on your system.
  • Verify the location and permissions of the following setting in your PHP.ini:
upload_tmp_dir="/temp"

session.save_path="/temp"
  • Verify that your server runs a suitable PHP version.

Error messages due to non-existing resources

Sometimes, files are not uploaded correctly or are broken during the upload process. This leads to several different error messages. Most of them refer to a file or function within a file which can't be found.

Solution: Re-upload all files using the binary mode of your FTP programme.

Requirements page

mbstring (Multibyte String Functions) library 是甚麼?

The mbstring library 是 PHP 函數程序庫,可以把字元集轉換語言. 如果你要執行 LimeSurvey.,京可能用得上它。 想檢視一下是否已安裝這個函數程序庫,你可以在網站空間建立一個 test.php 檔案,內容如下︰

http://<your_server>/<your_limesurvey_directory>/admin/install/phpinfo.php

然後用瀏覽器打開檔案,你會看到一些信息. 查看字串 'mbstring'. 如果找得到,請繼續. 如果你找不到,可能出於以下的原因︰

If you don't find the mbstring section, you might have a problem on your hands. There are three possible scenarios:

  • If it's your host provider's server, ask for the activation of that extension in PHP or for further information on how you can activate it - if you have a good administration panel for your server, you may be able to activate it yourself
  • If it's your own Linux server, you may have to re-compile PHP and include the mbstring library. Ask the Linux experts how to do that. However, you can install it using your Linux package manager, which is mostly available in all the Linux distributions nowadays
    • If you are using a version of Linux that supports 'yum' (CentOS, RedHat, Fedora)...
      • ...use the terminal (as a super user) and type: yum install php-mbstring
      • ...make sure to update /etc/php.ini and uncomment the various mbstring params
      • ...make sure to restart apache after installing it: /etc/init.d/httpd restart
  • If it's your own Windows server, search for php.ini on your system, open it with an editor, and search for mbstring. Most probably, the line that contains the string is commented out with a semicolon. Remove the semicolon, save and restart your web server

Stuck at checking file system permissions

If SELinux is activated (primarily on CentOS), then you might get an error that the file system permissions are not correct, even if the list of directories is empty. SELinux prevents writing even though the permissions are for example on 777 or 755. To configure SELinux correctly for your server - check out the SELinux documentation.

After database creation

Blank page after database creation

Symptoms

  • LimeSurvey is installed correctly and the database was created, but instead of the admin page, you get an empty page
  • Web server log shows "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"

Fix

This is probably related to an incorrect setting for $rooturl or $rootdir in config.php. The file config.php attempts to set $rootdir correctly by calling dirname('''FILE'''). While this usually works, it can be upset when LimeSurvey is installed in a user's home or public_html directory and the home directory is mounted over NFS. To set up the $rootdir manually, (your shell or pwd command may show you a path like /disks/hostname/home/username/public_html/limesurvey), try using /home/username/public_html/limesurvey.

When accessing the admin page, the browser keeps running and will eventually fail to show it

Symptoms

  • LimeSurvey is installed correctly and the database was created. However, when you access the admin page, the browser keeps running and will eventually fail to show the page
  • When you check the web server access log, its size has become quite big (in some cases, more than 2 GB)
  • Inside the access log, you get this message filling the log:
  Warning : fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120.

The line number may be different depending on your LimeSurvey version.

Fix

This may be caused by the mbstring.func_overload setting. Change the following setting in the php.ini file:

mbstring.func_overload = 0
This means no function overloading. See the PHP manual for this setting: Function Overloading Feature.

When accessing the admin page, the browser reports Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76

Symptoms

  • LimeSurvey is installed correctly and the database was created. But when redirected to the admin page, the browser displayed the listed error.
  • $rootdir and $rooturl are correctly set in config.php.
  • The disk path name for limesurvey installation directory includes one of the following characters: '(',')' or '+'.
  Attention : Other characters may also induce the same behavior.


Fix

Move/rename the LimeSurvey installation directory so that the path name includes non of the following characters: '(',')' or '+' characters.

After installation

For all the other issues that may occur after a successful installation, please refer to the troubleshooting page.