Troubleshooting Tiki on IIS

GD library in Windows

Many functionalities of Tikiwiki rely on the presence of a graphical library - gd.
Specifically Image Galleries and graphs in Statistics.

Some binary distributions of PHP for Windows contain this library, but some don't. Make sure you check the extensions directory and see if you can find a library called php_gd2.dll. If you don't see it there, download the full package from php.net (it's about 6 megs) and copy the dll into your extensions directory.

Then edit your php.ini, and uncomment the following line:
to look like:

Save the ini file, and check out the phpinfo page in your admin menu.

It should show a section called GD.

userpageterris — Doesn't work for me. I use ISAPI. Any ideas?
pj — Doesn't work for me either. I also use ISAPI. Had to put some images directly on the file-system and not in the galleries (i.e. in the database). Then it worked to load the images.

The quickest way to check out if everything went OK is to load the usage chart from /tiki-usage_chart.php

If everything's OK, you'll see a bar chart.
If not, you'll get an error message, probably
Fatal error: Call to undefined function: imagecreate() in /home/xyz/lib/phplot.php on line 203

Installation bugs

Error message :
Notice: Undefined index: SCRIPT_FILENAME in directory/tiki-setup.php on line 129
cf. Installation : IIS (Windows) glitch

MySQL Client Error

Error Message:Client does not support authentication protocol requested by server; consider upgrading MySQL client

This happened to me with MySQL 5.03 and PHP 4.3.10. The problem is the
password hashing algorhythm changed. You can make MySQL use the old
one with this command run from the Query Browser.
Note: "TikiPassword" is whatever the password you set was.

SET PASSWORD FOR 'tikiuser'@'hostname' = OLD_PASSWORD('TikiPassword');

Fix Tiki Batch File

For some unknown reason, mysql (I use 4.0.15) sometimes corrupts itself. When you attempt to access Tiki Wiki you will get the error:

Warning: MYSQL error: DB Error: unknown error in query:
select value from tiki_preferences where name='rememberme'
in C:\tikiwiki_1.7.1.1\lib\tikilib.php on line 101

textThis fixtiki.bat script will fix the problem. You will need to alter line 2 depending on where you have installed mysql and the Tiki database.

net stop mysql
cd /d c:\mysql\data\tiki
del *.tmd
\mysql\bin\myisamchk *.myi
\mysql\bin\myisamchk -r *.myi
net start mysql

Using LDAP

This thread describes how to configure LDAP. An anonymous ldap_bind will not work for all Active Directories.

In lib/userslib.php, I added the following two lines:

$options["adminuser"] = $tikilib->get_preference("auth_ldap_adminuser", "");
        $options["adminpass"] = $tikilib->get_preference("auth_ldap_adminpass", "");
after line 370

In lib/pear/Auth/Container/LDAP.php, I changed the lines 188-191 to be:

// bind anonymously for searching
        if ($this->options['adminuser']) {
            $bindresult = @ldap_bind($this->conn_id, $this->options['adminuser'], $this->options['adminpass']);
        } else {
            $bindresult = @ldap_bind($this->conn_id);

        if ($bindresult == false) {
            return PEAR::raiseError("Auth_Container_LDAP: Could not connect and bind to LDAP server.", 41, PEAR_ERROR_DIE);

Robajz aded one more line to make it work (windows 2003 active directory).
In lib/userslib.php, I added ldap_set_opt after about 185 where another ldap_set_opt is (according to 1.9)

@ldap_set_option($this->conn_id, LDAP_OPT_REFERRALS, 0);

Page last modified on Friday 24 September 2010 18:45:56 GMT-0000