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