KnowledgeTree reinstallation site startup failure (SOLVED) startup failures, indexing issues and other niggles forced me to re-install KnowledgeTree Commercial Edition (the same holds true for the Community Edition) more than once during setup. I was met with this delicious error notification which killed all further activity on the site (and prevented the startup of /setup/wizard/, control.php, browse.php, login.php — well, everything, really):

Warning: include_once(DB/.php) [function.include-once]: failed to open stream: No such file or directory in /usr/share/knowledgetree/thirdparty/pear/DB.php on line 371

Warning: include_once() [function.include]: Failed opening ‘DB/.php’ for inclusion (include_path=’/usr/share/knowledgetree/search2:/usr/share/knowledgetree/ktapi:/usr/share/knowledgetree/thirdparty/xmlrpc-2.2/lib:/usr/share/knowledgetree/thirdparty/simpletest:/usr/share/knowledgetree/thirdparty/Smarty:/usr/share/knowledgetree/thirdparty/pear:/usr/share/knowledgetree/thirdparty/ZendFramework/library:.:/usr/local/zend/share/ZendFramework/library:/usr/local/zend/share/pear:/usr/share/knowledgetree/thirdparty/pear’) in /usr/share/knowledgetree/thirdparty/pear/DB.php on line 371

Warning: Cannot modify header information – headers already sent by (output started at /usr/share/knowledgetree/thirdparty/pear/DB.php:371) in /usr/share/knowledgetree/config/dmsDefaults.php on line 299

As is evident from the include error, a variable in the include (DB/something_here.php) is not being set – turns out, $type is not being set, where type is the database type (mysql by default).

What to do? After an arduous search (which I hope you don’t have to do the same search over and over again), it turns out that the config-path file is the one that’s causing the issue.

After installation, the config-path is populated with all paths that make up the interaction with the site /var/lib/knowledgetree/Documents etc directories, and only one configuration-related entry pointing to /etc/knowledgetree/config.ini.

The solution? Delete all entries in /usr/share/knowledgetree/config-path leaving only /etc/knowledgetree/config.ini and all’s good to go!