Technical FAQ for ConfTool
Please check the following FAQs before you contact us.
Users get logged out after a few minutes from ConfTool
This problem is usually caused by a session timeout that is too short in the php configuration of your server. The standard setting in php is only 1400 seconds = 23 minutes - usually much too short to write a review. I recommend setting it to at least two hours (7200 seconds), better are probably 5 hours (18000 seconds
To fix the setting, please check the following:
- In the file php.ini, the parameter session.gc_maxlifetime should be at least 7200: (session.gc_maxlifetime = 7200)
- Remember to restart Apache after changing these parameters.
- Check if a cronjob is maybe deleting the session data from the temporary directory. The parameter session.save_path lists the location of the temporary session file.
- Please note: Changing this setting in your .htaccess file or in settings.php of ConfTool [ini_set("session.gc_maxlifetime", 7200);] has usually no effect.
- Also verify if you have a link somewhere on your web pages to ConfTool that includes a session URL. Example:
www.example.com/conftool/index.php;CTSID=ill8c08vuKklUegQZ8KWxyz9q
please fix this to:
www.example.com/conftool/index.php
We have problems sending e-mails with ConfTool
- Please double-check your SMTP server settings in conftool.conf
- Look in the Apache error log to see if ConfTool submits any error messages.
- Try using another mail client on the same computer to test if the mail server can be connected.
- Please check if you have a firewall running on the computer that blocks the SMTP connections.
- Check if there is a virus scanner on that computer that blocks outgoing SMTP connections for the httpd.
- Go to conftool/lib/mail.lib.php and comment the lines with the error output messages out in order to debug your mail settings.
- If you are using a Linux server, there are many open source mail servers available such as Postfix. If you are using Windows, you can also install a local mail server quite easily using hMailServer.
- If you get "PHP Warning: fsockopen(): SSL operation failed with code 1." using googlemail as SMTP server, please try port 465 instead of 587.
We cannot register new users with ConfTool
If any e-mail address is rejected when you try to register new users, please:
- Check if the DNS server of your host works correctly (using the commands nslookup or host), or
- Disable the DNS test in ConfTool in the configuration file conftool.conf.php.
Uploading files does not work. We just get an empty document or an error message
- Have a look at the Apache error log. Very often the according hints can be found there.
- Use www.yoursite.org/conftool/info.php to check if your php settings are OK for file uploads. All tree values "upload_max_filesize", "post_max_size", "memory_limit" have to be bigger than the required file size (e.g. 10M).
- Usually this is not critical but for some systems max_execution_time has to be high enough (remember, these are seconds!). For IIS the CGI timeout has to be as high, otherwise the server will cancel the transfer.
- Go to php.ini and look if the following parameters are set:
- upload_tmp_dir="/tmp/" (or something like C:\temp\ for windows).
- Check if the above directory is writable for your web-server and if the uploaded file appears in the directory after you have uploaded the file.
- file_uploads = On is required to allow uploads at all.
- If you find messages like "Requested content-length of XXXXX is larger than the configured limit of 524288" in your Apache error log, you have to increase the value of "LimitRequestBody". You usually find that parameter in "/etc/httpd/conf.d/php.conf". Change it to a bigger value like 16777216.
- Restart the httpd after doing any changes to the Apache or php configuration files!
Downloading files does not work with HTTPS and Internet Explorer
This problem is caused by a (old but still unfixed!) bug in some versions of the Microsoft Internet Explorer. It occurs if downloaded files are not being cached by IE and therefore the browser is unable to store the file or handle it to the associated application.
ConfTool has a workaround for this bug, but if your server or php settings set some HTTP header parameters that disable the browser cache (and override the ConfTool settings), you have to do the following:
- Check your php.ini settings and comment the following lines out:
session.cache_limiter nocache
and
session.cache_expire 0
or go to your -Entry for ConfTool in httpd.conf and set:
php_value session.cache_limiter public
php_value session.cache_expire 30 - Disable https for the submission phase (as it is not really necessary for this process anyway).
- Recommend other (less buggy) browsers such as Firefox or Opera to the members of your program committee. ;-)
The ConfTool Pro Version (1.8 or later) has another workaround that can force http for the download of files, but this requires a setup of ConfTool for http and https at the same address.
Uploaded files are corrupted or have the wrong size
This is an Apache or PHP configuration problem. Please try to locate the file php.conf which is usually in
/etc/httpd/conf.d/php.conf
and comment out the following lines:
#<files> # SetOutputFilter PHP # SetInputFilter PHP # LimitRequestBody 524288 #</files>
You might also have to add
AddType application/x-httpd-php .php
to httpd.conf. Restart Apache.
See: http://bugs.php.net/bug.php?id=19263
Character encoding problems
The latest versions of VSIS ConfTool and ConfTool Pro work properly with 8-bit encoded characters as well as UTF-8 encoding. However, you have to decide during the installation process, what type of encoding you are going to use. The character encoding of ConfTool is set in the file conftool.conf.php in $ctconf['charset'] .
General hints:
- Make sure your MySQL database uses the same encoding as your ConfTool installation. If you use UTF-8, you can for instance use the following commands after the "create database" command to set the correct encoding:
- SET NAMES utf8;
- SET COLLATION_CONNECTION=utf8_general_ci;
- ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- If you forgot to set the correct encoding for your database, reinstall or update it:
- ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- or for single tables using: ALTER TABLE XXXXX CHARACTER SET utf8 COLLATE utf8_general_ci; (collate defines the order used for indexes).
- Make sure that the language text files are in the same character encoding as your ConfTool installation and database. Use for instance Notepad++ to edit / convert them.
- If you import the database use the --default-character-set switch, e.g.:
- mysql -u user -p --default_character_set=utf8 database < data.sql
- Other switches to be used in the MySQL console:
- SET NAMES utf8
- SET CHARACTER SET utf8
- SET character_set_results=NULL
PHP and MySQL problems
If you get "Fatal error: Call to undefined function: mysql_pconnect() in ..../conftool/lib/mysql.dbi on line XX" you probably don't have the php_mysql library loaded (required for PHP 5.x). Things to do for Windows:
- Activate MySQL support in php.ini. Add: "extension=php_mysql.dll". If php cannot find the library although it is there:
- Set "extension_dir" with an absolute path to the extensions directory of php.
- Windows: copy libmysql.dll from the php root folder to C:/windows/system32.
If you have problems connecting to the MySQL database or get wrong results, please check if the php_mysql library corresponds to the MySQL version you are using. This is a quite common problem! (For example: The encoding of passwords was changed in MySQL 4.1)
If you have problems connecting to the MySQL database and use MySQL 4.1 or later and cannot update your PHP version you might use the function password_old() to create your database account. Instead of the commands in createDBUser.sql use the following:
USE mysql;
FLUSH PRIVILEGES;
INSERT INTO `db` VALUES ('localhost', 'conference', 'confuser', 'Y','Y','Y','Y','Y','Y','N','Y','Y','Y','N','N');
INSERT INTO `user` VALUES ('localhost', 'confuser', password_old('confpass'),'N','N', 'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0);
FLUSH PRIVILEGES;
If you are using mysql 5.7 or later and get an error like "ERROR 1067 (42000) at line 175: Invalid default value for ‘creationdate'" when you try to insert the default data, please disable the setting NO_ZERO_DATE in your mysql configuration.
Please see: dev.mysql.com/doc/refman/5.7/en/sql-mode.html
and stackoverflow.com/questions/2317650/setting-global-sql-mode-in-mysql
We would like to use HTTPS / a secure connection. What do we have to do?
ConfTool supports https, but it is the web server that does create the secure connection. Therefore you have to modify your server accordingly, get a certificate etc. You find more information on this issue on the internet. If you need a free "official" certificate, see the links below:
http://www.h-online.com/security/features/SSL-for-free-step-by-step-906862.html
https://letsencrypt.org/
To use https with ConfTool, you just have to adapt the variable $ctconf['web/baseurl'] in etc/conftool.conf. That's it.
Log-ins do not work or you are always directed back to the login page
- This might be a problem with an older version of ConfTool (solved) and newer Versions of PHP like PHP 4.3 or PHP 5ff.
- If the configuration option "register_long_arrays" is set to "off" predefined Superglobals like $HTTP_SERVER_VARS cannot be read. This causes the described problem. I therefore switched to the superglobal $_SERVER
- The php parameter session.auto_start has to be set to 0 or false (depending on your php version). If it is set to 1 (true), please update your php.ini file or try to update this setting in the .htaccess file of your conftool/htdocs folder.