ID:               23975
 Comment by:       courtois at nouvo dot com
 Reported By:      rhalstenbach at t-online dot de
 Status:           Open
 Bug Type:         DBM/DBA related
 Operating System: win32 only
 PHP Version:      4.3.3RC4-dev
 Assigned To:      helly
 New Comment:

The bug I submitted (25115) was declared "duplicate" with this one.

I experience the problem only when I try to open a file which is not in
the current directory.

My 2 cents


Previous Comments:
------------------------------------------------------------------------

[2003-06-15 08:56:32] [EMAIL PROTECTED]

Seems to be a windows only problem. The bug is fixed for *nix.

------------------------------------------------------------------------

[2003-06-15 08:43:41] rhalstenbach at t-online dot de

Re-Opened. It still does not work, tested with snapshot "Built On: Jun
15, 2003 12:30 GMT".

Sent an email to marcus dot boerger at post dot rwth-aachen dot de (he
asked me to check out the snapshot and to run a test).

------------------------------------------------------------------------

[2003-06-12 15:01:24] [EMAIL PROTECTED]

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.

Maybe this applies to dbm, too. However the problem is solved in a
generic way.

------------------------------------------------------------------------

[2003-06-10 05:19:49] adam at saki dot com dot au

This is actually because the locking will prematurely create an empty
file, causing the VCWD_STAT command in dba_db3.c to return 0, resulting
in the wrong parameters to db_open.

This can be verified by putting a stat command after the lock detection
code and before the call to open (line 590 in ext/dba/dba.c).

------------------------------------------------------------------------

[2003-06-03 03:43:56] rhalstenbach at t-online dot de

The new locking feature (introduced with 4.3.0) does not work correctly
in default mode "d". Very annoying because it is the default mode ...

Example:

<?php
$d1 = dba_open("c:/www/htdocs/dbfile", "c", "db3); // Old syntax,
specifying no locking mode means mode "d", i.e. same as "cd"

if ($d1 === FALSE) die("Could not open dbfile");
?>

Same problem for mode "w".

It works correctly for locking mode "l" and for suppressing locking via
"-". Obviously the dba_open() function tries to create a lock file with
exactly the same name as the database file - what fails of course.

Tested on WindowsXP with db3, but i think it will fail for every
db-driver (except gdbm) on every OS.

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=23975&edit=1

Reply via email to