Immer noch das dbm-Problem :(

Mittlerweile weiß ich, das die Funktionen in der php_db.dll enthalten sind. Und ich den Eintrag „extension=php_db.dll“ in der php.ini aktivieren und das
richtige extension_dir angeben muß. Trotzdem die Fehlermeldung:
„call to undefined function dbmopen()“.
Was mache ich falsch?

unabhängig ob man die dbm-funktionen noch nutzen sollte. Vielleicht hatt man das Problem dann auch bei anderen php-Modulen im Extensions-Verzeichniss.

ick hoffe es kann jemand helfen.

Mif freundlichen Grüßen, Tom!

Hallo Tom!

Mittlerweile weiß ich, das die Funktionen in der php_db.dll
enthalten sind. Und ich den Eintrag „extension=php_db.dll“ in
der php.ini aktivieren und das
richtige extension_dir angeben muß. Trotzdem die
Fehlermeldung:
„call to undefined function dbmopen()“.
Was mache ich falsch?

Keine Ahnung. Da dbm nicht mehr verwendet werden sollte, nehme ich auch keinen Bezug darauf :wink:

Die von Dir vorgenommenen Schritte musst Du für php_dba.dll wiederholen. Anschliessend sollte Dir bei phpinfo() ein Abschnitt dba angezeigt werden. In diesem Abschnitt sind alle unterstützten Handler (i.d.R. cdb, cdb_make, db3, flatfile) angezeigt.

Folgender Code funktioniert dann bei mir für den Zugriff auf dbas (flatfile):

<?php $db = dba_open($_SERVER['DOCUMENT_ROOT'].'/test.db3', 'c', 'flatfile');<br /> dba\_insert('testkey', 'testvalue', $db);
 dba\_sync($db);
 echo 'Data: '.dba\_fetch('testkey', $db);
 dba\_close($db);
?\>

Teste mal den code. Wenn alles funktioniert sollte ‚testvalue‘ ausgegeben werden.

Gruss Thomas

Die von Dir vorgenommenen Schritte musst Du für php_dba.dll
wiederholen. Anschliessend sollte Dir bei phpinfo() ein
Abschnitt dba angezeigt werden. In diesem Abschnitt sind alle
unterstützten Handler (i.d.R. cdb, cdb_make, db3, flatfile)
angezeigt

php_info zeigt keinen Abschnitt dba an.
dba_open erzeugt auch nur ein „call to undefined function“

Es kann doch eigentlich nur an der php.ini liegen, oder?

Folgender Code funktioniert dann bei mir für den Zugriff auf
dbas (flatfile):

Was bedeutet

?

Vielen Dank für Deine Antwort, Tom.



> <?php :	$db = dba_open($_SERVER['DOCUMENT_ROOT'].'/test.db3', 'c',<br />'flatfile');  
> dba\_insert('testkey', 'testvalue', $db);  
> dba\_sync($db);  
> echo 'Data: '.dba\_fetch('testkey', $db);  
> dba\_close($db);  
> ?\>

Teste mal den code. Wenn alles funktioniert sollte ‚testvalue‘
ausgegeben werden.

Gruss Thomas

Hallo Tom,

Die von Dir vorgenommenen Schritte musst Du für php_dba.dll
wiederholen. Anschliessend sollte Dir bei phpinfo() ein
Abschnitt dba angezeigt werden. In diesem Abschnitt sind alle
unterstützten Handler (i.d.R. cdb, cdb_make, db3, flatfile)
angezeigt

php_info zeigt keinen Abschnitt dba an.
dba_open erzeugt auch nur ein „call to undefined function“

Ohne den Abschnitt dba beim Aufruf von phpinfo() ist das Verhalten normal. Wenn der Abschnitt fehlt, kennt php die gesamte dba-Erweiterung nicht (und damit alle entsprechenden Funktionen [Befehle] ebenfalls nicht).

Es kann doch eigentlich nur an der php.ini liegen, oder?

Ja. Falls bei Dir php als Apache-Module läuft, musst Du nach dem Ändern der php.ini auch den Apache neu starten. Sonst werden die neuen Einstellungen nicht gelesen.

Folgender Code funktioniert dann bei mir für den Zugriff auf
dbas (flatfile):

Was bedeutet

?

Zitat Self-HTML: „PRE: Formatiert einen Bereich wie im Editor eingegeben (präformatierter Text)“. Sorgt also einfach dafür das Quellcode in wer-weiss-was besser aussieht…

Vielen Dank für Deine Antwort, Tom.

Gerne.

Gruss Thomas