Bug #13358 Updated: Berkeley DB3 and the DBA functions
| From: | swm@php.net | Date: | Sat, 12 Jan 2002 07:29:08 +0000 |
| Subject: | Bug #13358 Updated: Berkeley DB3 and the DBA functions | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-76733@lists.php.net to get a copy of this message | ||
ID: 13358
Updated by: swm
Reported By: mark@neaturl.com
Status: Open
Bug Type: DBM/DBA related
Operating System: RedHat 7.1
PHP Version: 4.0.6
New Comment:
Fixed in current CVS.
Previous Comments:
------------------------------------------------------------------------
[2001-09-21 13:32:42] mark@neaturl.com
Just a couple of more points of information:
1) I have now tried compiling libphp4.so every which way. I have
downloaded and installed from source db3.1.17, db3.2.9 and db3.3.11 -
and have tried configuring --with-db3= (path to db3) with each of these
different versions. No luck.
2) Again, I have no problem using the db3 driver and the dba functions
with the stand alone binary of php that I configured --with-db3
Permissions are not a problem.
3) That link I gave to the phpinfo snapshot is gone. I am a dangerous
sysadmin when logged in as root! But the dynamicly generated phpinfo()
page is http://neaturl.com/phpinfo.php
I've gone crazy over this. The only solutions I can see is to run the
scripts that use dba functions on my db3 file as CGI.
------------------------------------------------------------------------
[2001-09-18 02:33:18] mark@neaturl.com
Um. yeah, I am using BerkeleyDB3.1.17 which came rpm installed as part
of the standard install.
------------------------------------------------------------------------
[2001-09-18 02:28:28] mark@neaturl.com
I have noticed that a similar bug has been reported (Bug id #11732) -
however I can report more details and I have another script with
interesting results.
First: the code that was provided in #11732
[code]
<?php
if(!$fp = dba_open("test.db", "c", "db3")) {
print("error");
exit;
}
dba_insert("testkey", "testval", $fp);
echo( dba_fetch("testkey", $fp));
dba_close($fp);
?>
[/code]
[output]
Warning: driver initialization failed in
/usr/local/apache/htdocs/www-root/neaturl.com/temp/test.php on line 3
error
[/output]
But get this - test.db is created!
The above code was called through from my browser (thus through the
Apache web server)
Here is a link to a snapshot of my php config at the time I ran that
code:
http://neaturl.com/temp/phpinfo-0109181613.html
Now - here is the twist! If I call the same script (adding the path to
the php binary) from bash, it runs fine!
[code]
#!/usr/local/bin/php
<?php
if(!$fp = dba_open("test.db", "c", "db3")) {
print("error");
exit;
}
dba_insert("testkey", "testval", $fp);
echo( dba_fetch("testkey", $fp));
dba_close($fp);
?>
[/code]
[output]
X-Powered-By: PHP/4.0.6
Content-type: text/html
testval
[/output]
Actually, I came accross this problem because I had written a php
script to initialize the postfix/virtual.db (which I ran from bash and
had written a php script to read and output the key:value pairs (which
again I ran OK from bash). But when I tried to run the same script by
calling it from my browser - no cigar!
Now I am assuming this is a bug. I would be delighted to learn that
perhaps I have missed configuring something in php.ini
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=13358&edit=1