I am still trying to find an answer to this problem.
I have started from scratch again - installed phpwiki 1.3.10 set config.ini settings for MySQL database yet am STILL getting the Following Errors
lib/DbaDatabase.php:54: Fatal[256]: dba_open(wiki_pagedb.,cd) [<a href='function.dba-open'>function.dba-open</a>]: No such handler:
file: wiki_pagedb.
mode: cd
handler:
lib/IniConfig.php:497: Notice[1024]: The admin password cannot be empty. Please update your /index.php
lib/DbaDatabase.php:160: Warning[512]: DbaDatabase: The DBA handler is unsupported!
Supported handlers are: cdb,cdb_make,db3,inifile,flatfile
ErrorManager: error while handling error:
lib/prepend.php:96: Fatal[2048]: Non-static method HTML::br() should not be called statically
lib/DbaDatabase.php:54: Fatal[256]: dba_open(wiki_pagedb.,cd) [<a href='function.dba-open'>function.dba-open</a>]: No such handler:
file: wiki_pagedb.
mode: cd
handler:
I do not want to have to change to another wiki engine - mainly because I have a reasonably large wiki database (from before the upgrade to php5) which I do not want to lose
Can someone please either help me get this working,or alternatively advise me how to recover the data from the database to enable me to eventally inport it into another application
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You said you configured it for mysql, but why are you still getting dba errors?
Maybe you have to set
DATABASE_TYPE= SQL or ADODB to use mysql?
Same error for ADMIN_PASSWD.
Maybe you have to define the ADMIN_PASSWD.
If you really want dba, define the right dba handler which is one of cdb,cdb_make,db3,inifile,flatfile.db3 seems to be the best.
All this is wriotten in your error messages also, so there's no need to pester the help pages.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't want to use dba - i have no idea why the damn thing thinks I do want to use it - i want to use MySql. The bits that I think are relevant from my config.ini file are below - please advise which bits i need to change - and to what to pevent it thinking I want to use dba and not mysql
from my config.ini
ADMIN_USER = (this has a value)
ADMIN_PASSWD =(this has a encrypted value)
; It is recommended that you use the passencrypt.php utility to encode the
; admin password, in the event that someone gains ftp or ssh access to the
; server and directory containing phpwiki. Once you have pasted the
; encrypted password into ADMIN_PASSWD, uncomment this next line.
ENCRYPTED_PASSWD = true
.............
;======================================================================
; Part Two: Database Selection
;======================================================================
; Select the database type:
;
; SQL: access one of several SQL databases using the PEAR DB library.
; ADODB: uses the ADODB library for data access.
; dba: use one of the standard UNIX dbm libraries.
; file: use a flat file database.
; cvs: use a CVS server to store everything.
DATABASE_TYPE =SQL
; prefix for filenames or table names
;
; Currently you MUST EDIT THE SQL file too (in the schemas/
; directory because we aren't doing on the fly sql generation
; during the installation.
; Note: This prefix is NOT prepended to the default DBAUTH_
; tables user, pref and member!
;DATABASE_PREFIX = phpwiki_
; For SQL based backends, specify the database as a DSN (Data Source Name),
; a kind of URL for databases.
;
; The most general form of a DSN looks like:
;
; dbtype(dbsyntax)://username:password@protocol+hostspec/database
;
; For a MySQL database, the following should work:
;
; mysql://user:password@host/databasename
;
; To connect over a unix socket, use something like
;
; mysql://user:password@unix(/path/to/socket)/databasename
;
; Valid values for dbtype are mysql, pgsql, or sqlite.
;
DATABASE_DSN = "mysql://(username):(password)@localhost/genwiki"
; A table to store session information. Only needed by SQL backends.
;
; A word of warning - any prefix defined above will be prepended to whatever
; is given here.
DATABASE_SESSION_TABLE = session
; For the file and dba backends, this specifies where the data files will be
; located. Ensure that the user that the webserver runs as has write access
; to this directory.
;
; WARNING: leaving this as the default of '/tmp' will almost guarantee that
; you'll lose your wiki data at some stage.
DATABASE_DIRECTORY = /tmp
; For the dba backend, this defines which DBA variant you wish to use.
; gdbm - commonly available
; db2 - Berkeley DB v2; not supported by modern versions of PHP
; db3 - Berkeley DB v3; as per db2. The best on Windows
; db4 - Berkeley DB v4; current version, however PHP has some issues
; with it's db4 support.
; dbm - Older dba handler; suffers from limits on the size of data
; items
DATABASE_DBA_HANDLER = gdbm
; How long will the system wait for a database operation to complete?
; Specified in seconds.
DATABASE_TIMEOUT = 20
; The login code now uses PHP's session support. Usually, the default
; configuration of PHP is to store the session state information in
; /tmp. That probably will work fine, but fails e.g. on clustered
; servers where each server has their own distinct /tmp (this is the
; case on SourceForge's project web server.) You can specify an
; alternate directory in which to store state information like so
; (whatever user your httpd runs as must have read/write permission
; in this directory):
;SESSION_SAVE_PATH = some_other_directory
I am still trying to find an answer to this problem.
I have started from scratch again - installed phpwiki 1.3.10 set config.ini settings for MySQL database yet am STILL getting the Following Errors
lib/DbaDatabase.php:54: Fatal[256]: dba_open(wiki_pagedb.,cd) [<a href='function.dba-open'>function.dba-open</a>]: No such handler:
file: wiki_pagedb.
mode: cd
handler:
lib/IniConfig.php:497: Notice[1024]: The admin password cannot be empty. Please update your /index.php
lib/DbaDatabase.php:160: Warning[512]: DbaDatabase: The DBA handler is unsupported!
Supported handlers are: cdb,cdb_make,db3,inifile,flatfile
ErrorManager: error while handling error:
lib/prepend.php:96: Fatal[2048]: Non-static method HTML::br() should not be called statically
lib/DbaDatabase.php:54: Fatal[256]: dba_open(wiki_pagedb.,cd) [<a href='function.dba-open'>function.dba-open</a>]: No such handler:
file: wiki_pagedb.
mode: cd
handler:
I do not want to have to change to another wiki engine - mainly because I have a reasonably large wiki database (from before the upgrade to php5) which I do not want to lose
Can someone please either help me get this working,or alternatively advise me how to recover the data from the database to enable me to eventally inport it into another application
You said you configured it for mysql, but why are you still getting dba errors?
Maybe you have to set
DATABASE_TYPE= SQL or ADODB to use mysql?
Same error for ADMIN_PASSWD.
Maybe you have to define the ADMIN_PASSWD.
If you really want dba, define the right dba handler which is one of cdb,cdb_make,db3,inifile,flatfile.db3 seems to be the best.
All this is wriotten in your error messages also, so there's no need to pester the help pages.
I don't want to use dba - i have no idea why the damn thing thinks I do want to use it - i want to use MySql. The bits that I think are relevant from my config.ini file are below - please advise which bits i need to change - and to what to pevent it thinking I want to use dba and not mysql
from my config.ini
ADMIN_USER = (this has a value)
ADMIN_PASSWD =(this has a encrypted value)
; It is recommended that you use the passencrypt.php utility to encode the
; admin password, in the event that someone gains ftp or ssh access to the
; server and directory containing phpwiki. Once you have pasted the
; encrypted password into ADMIN_PASSWD, uncomment this next line.
ENCRYPTED_PASSWD = true
.............
;======================================================================
; Part Two: Database Selection
;======================================================================
; Select the database type:
;
; SQL: access one of several SQL databases using the PEAR DB library.
; ADODB: uses the ADODB library for data access.
; dba: use one of the standard UNIX dbm libraries.
; file: use a flat file database.
; cvs: use a CVS server to store everything.
DATABASE_TYPE =SQL
; prefix for filenames or table names
;
; Currently you MUST EDIT THE SQL file too (in the schemas/
; directory because we aren't doing on the fly sql generation
; during the installation.
; Note: This prefix is NOT prepended to the default DBAUTH_
; tables user, pref and member!
;DATABASE_PREFIX = phpwiki_
; For SQL based backends, specify the database as a DSN (Data Source Name),
; a kind of URL for databases.
;
; The most general form of a DSN looks like:
;
; dbtype(dbsyntax)://username:password@protocol+hostspec/database
;
; For a MySQL database, the following should work:
;
; mysql://user:password@host/databasename
;
; To connect over a unix socket, use something like
;
; mysql://user:password@unix(/path/to/socket)/databasename
;
; Valid values for dbtype are mysql, pgsql, or sqlite.
;
DATABASE_DSN = "mysql://(username):(password)@localhost/genwiki"
; A table to store session information. Only needed by SQL backends.
;
; A word of warning - any prefix defined above will be prepended to whatever
; is given here.
DATABASE_SESSION_TABLE = session
; For the file and dba backends, this specifies where the data files will be
; located. Ensure that the user that the webserver runs as has write access
; to this directory.
;
; WARNING: leaving this as the default of '/tmp' will almost guarantee that
; you'll lose your wiki data at some stage.
DATABASE_DIRECTORY = /tmp
; For the dba backend, this defines which DBA variant you wish to use.
; gdbm - commonly available
; db2 - Berkeley DB v2; not supported by modern versions of PHP
; db3 - Berkeley DB v3; as per db2. The best on Windows
; db4 - Berkeley DB v4; current version, however PHP has some issues
; with it's db4 support.
; dbm - Older dba handler; suffers from limits on the size of data
; items
DATABASE_DBA_HANDLER = gdbm
; How long will the system wait for a database operation to complete?
; Specified in seconds.
DATABASE_TIMEOUT = 20
; The login code now uses PHP's session support. Usually, the default
; configuration of PHP is to store the session state information in
; /tmp. That probably will work fine, but fails e.g. on clustered
; servers where each server has their own distinct /tmp (this is the
; case on SourceForge's project web server.) You can specify an
; alternate directory in which to store state information like so
; (whatever user your httpd runs as must have read/write permission
; in this directory):
;SESSION_SAVE_PATH = some_other_directory
;========================================================================