From: Arno H. <aho...@xm...> - 2001-01-11 08:40:19
|
Joel, > The dbmopen funciton comes from GDBM, right? I'm > at a loss as to why this would happen, since I do > have GDBM installed, and the compiler didn't > complain about its absence when I built php. No, dbm*() functions come from compiling PHP with --with-dbm. Functions using gdbm start with dba_*() According to the PHP docs one should avoid dbm and use gdbm instead. Maybe we should consider switching. /Arno ------------- FYI, here's my answer email to Richard: Richard, > > - in dbmlib.php line 35 remove the "@" in front of dbmopen() > > Fatal error: Call to undefined function: dbmopen() in > /home/httpd/html/phpwiki/lib/dbmlib.php on line 39 Aha! You don't have dbm support in PHP. Judging from your phpinfo() output: dba DBA support enabled Supported handlers gdbm=20 There are two different functions for dbm-style databases in PHP. One is the classic dbm interface, one is an abstraction layer interface t= o=20 dbm-style databases like e.g. gdbm, ndbm, Sleepycat's db2, ... Right now you use the abstraction layer. phpwiki makes calls to the class= ic=20 dbm interface. Thus: function not found - and phpwiki can't operate. It's= =20 strange however, that you don't get the error message from ExitWiki(). Short term solutions for your problem: - compile php with --with-dbm (note the missing 'g'). - Otherwise (if you don't want to recompile PHP): replace all dbm*()=20 functions with their dba_*() style counterparts. Unfortunately, you will=20 have to modify the arguments as well. If you are new to PHP this might be= =20 too much trouble. - Otherwise: switch to another database. mySQL, msql, and PostgreSQL are supported. I don't know if the flat file system is ready for use just y= et. Long term solution: Steve should check if it's not better to migrate to the dba_*() interface= =2E > > Btw, have you made sure that all files *and* directories are readable > > by Apache? This includes lib/*, template/*, and pgsrc/* Permissions look ok. Hope that helps. /Arno |