From: Zot O'C. <zo...@wh...> - 2003-01-10 03:39:25
|
1.3.4 is not installing with dbm. I have 6-9 1.3.3 installs working, so something has changed. I get the dreaded: lib/DbaDatabase.php:32: Fatal[256]: driver initialization failed I tried the local subdir, /tmp etc. I think the problem is two attempts to create the file: -rw-r--r-- 1 nobody nobody 12288 Jan 9 19:32 /tmp/wiki_pagedb.gdbm Adding a debug line in lib/config.php 30 $this->_dba_open_error = false; 31 $ErrorManager->pushErrorHandler(new WikiMethodCb($this, '_dba_open_error_handler')); 32 print "Zot: this->_file $this->_file, mode $mode, this->_handler $this->_handler"; 33 while (($dbh = dba_open($this->_file, $mode, $this->_handler)) < 1) { I see: Zot: this->_file /tmp/wiki_pagedb.gdbm, mode c, this->_handler gdbmZot: this->_file /tmp/wiki_pagedb.gdbm, mode c, this->_handler gdbm [pause] lib/DbaDatabase.php:33: Fatal[256]: driver initialization failed ls -l /tmp/w* -rw-r--r-- 1 nobody nobody 12288 Jan 9 19:34 /tmp/wiki_pagedb.gdbm So I assume mode='c' is asking to create the file. Since there are two calls, I assume it is getting the request twice. Doing diff from 1.3.3 to 1.3.4 show no changes in the lib/Dba*php files. So, has anyone else made this work with dbm yet. Given this and the error below, I kinda doubt it. BTW there is an error in the assumptions on startup: if (ALLOW_USER_LOGIN and empty($DBAuthParams['auth_dsn']) and empty($DBAuthParams['auth_user_file'])) { $DBAuthParams['auth_dsn'] = $DBParams['dsn']; } This never checked if 'dns' was set. Since I am running dbm, this has no purpose. The index.php by default tries to set this. Versions: php-4.0.4pl1-9 apache-1.3.14-2.6.2 -- Zot O\'Connor http://www.ZotConsulting.com http://www.WhiteKnightHackers.com |