Technical FAQ for ConfTool

Before you contact me, please have a look at these hints.

I would like to use HTTPS / a secure connection. What do I 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 the information on this on the internet, e.g.

  http://slacksite.com/apache/certificate.html

  http://buecher.lingoworld.de/apache2/mod_ssl.html (in German)

To use https with conftool, you just have to adapt the variable $ctconf['web/baseurl'] in etc/conftool.conf. That's it.

 

I still have problems sending E-MAILS with ConfTool

  • Please double-check your smtp-server settings in conftool.conf
  • Please check if you have a firewall running on the computer that blocks the smtp connections.
  • Try using another mail client on the computer to test if the mail server works in general.
  • go to lib/mail.lib and uncomment the lines with the error output messages to debug your mail settings.

 

UPLOADING files does not work. I just get an empty document

  • 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) and the max_execution_time is large enough (in seconds!)
  • Check the error_log from your http-server (Esp. Red Hat users!). If you find messages like "Requested content-length of XXXXX is larger than the configured limit of 524288" 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.

 

Downloading files does not work with HTTPS and Internet Explorer

This problem is caused by a (old but still unfixed!) bug in Microsoft Internet Explorer. It occurs if downloaded files are not being cached by MSIE 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 outcomment the following:
        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 like 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.

 

The Uploaded files are corrupted and have the wrong size. They are about doubled in size.

This is a Apache or PHP 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 *.php>
#    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

 

Problems with PHP and MySQL

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;

 

PHP Problems and Error Messages

If you get: 

Fatal error: Call to undefined function: session_cache_limiter() in .../conftool/htdocs/index.php

there may be several reasons:

  • Maybe you have PHP < 4.0.3 installed. Please upgrade!
  • Or PHP was compiled without session support. To find out use php_info():     You find '--disable-session' in the output of php_info() under the secion "Configure Command". Re-Compile PHP with sessions or try to install the module "sessions.so" instead:
  • Get session.so for your php/OS version
  • Add "extension=session.so" in php.ini in the [extension section]
  • Set session.save_path to something decent like /tmp/ (or C:\temp\)
  • Restart Apache. (This setting seems to be a "bug" in SuSE 9.3 - use YAST to install session support for PHP.)
  • http://www.issociate.de/board/post/245362/PHP_Version_4.3.10_-%3E_--disable-session.html

 

If you do what you want, but always get back to the initial login page:

  • This might be a problem with an older version of ConfTool (what is solved by now) 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