When installing or migrating from KnowledgeTree (Document Management System) version 3.0.6 to 3.0.7.2 on CentOS using the KnowledgeTree universal installer one might run into the following issue:
None of the Scheduler's tasks get executed correctly.
All the tasks exit with the following errorcode:
[db_error: message="DB Error: extension not found" code=-25 mode=return level=notice prefix="" info="Array"]
You can test this manually:
# /usr/local/zend/bin/php /usr/share/knowledgetree-ce/search2/bin/cronDocumentProcessor.php [db_error: message="DB Error: extension not found" code=-25 mode=return level=notice prefix="" info="Array"]
The problem here is that the variable LD_LIBRARY_PATH is not set correctly, causing the zend php binary not being able to find the correct database module.
Let's try setting this variable manually:
# export LD_LIBRARY_PATH=/usr/local/zend/lib/ # /usr/local/zend/bin/php /usr/share/knowledgetree-ce/search2/bin/cronDocumentProcessor.php #
Fixed! Now, this only fixes the problem in our current shell, how do we make this fix persistent system wide? By creating a file in /etc/profile.d/ setting the variable system wide:
# vi /etc/profile.d/kt.sh
With the contents:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/zend/lib/Now, lets make this file executable:
# chmod +x /etc/profile.d/kt.sh
Now, all that's left to do is restart KnowledgeTree so that it reads the new content of the LD_LIBRARY_PATH variable and our problem is solved.
Bug reported to KnowledgeTree: http://issues.knowledgetree.com/browse/KTS-4576