From: dim at dvisionfactory dot com Operating system: FreebBSD PHP version: 4.4.2 PHP Bug Type: Directory function related Bug description: MKDIR fails if GID differs
Description: ------------ MKDIR has a strange behaviour. In my case, I tried to the following: - Create a directory A - Change group of A - Create directory B which is a sub-directory of A -> ERROR I wrote a test case. The strange thing: I create directory A by mkdir('A'); and I change it's group by chgrp('A', 'some_user');. fileowner('A'); return as expected '80' which is the user 'www', but filegroup('A') also returns '80', although it should be '1005' (='some_user'). If I now try an 'ls -l' in a shell I get "www:some_user", which indicates that chgrp('A', 'some_user'); was successfull. Reproduce code: --------------- function mk_dir($dir, $ch_grp = true) { mkdir($dir); if (!is_dir($dir)) { echo 'FAIL'; } else { chmod($dir, 504); if ($ch_grp) chgrp($dir, 'some_user'); echo 'SUCCESS'; echo ', ' . fileperms($dir); echo ', ' . fileowner($dir); echo ', ' . filegroup($dir); } } mk_dir('/var/www/directory/test1'); // OUTPUT: SUCCESS, 16877, 80, 80 mk_dir('/var/www/directory/test1/test2'); // OUTPUT: FAIL, 16877, 80, 80 rmdir('/var/www/directory/test1/test2'); // CLEAN UP rmdir('/var/www/directory/test1'); // CLEAN UP mk_dir('/var/www/directory/test1', false); // OUTPUT: SUCCESS, 16877, 80, 80 mk_dir('/var/www/directory/test1/test2', false); // OUTPUT: SUCCESS, 16877, 80, 80 rmdir('/var/www/directory/test1/test2'); // CLEAN UP rmdir('/var/www/directory/test1'); // CLEAN UP -- Edit bug report at http://bugs.php.net/?id=37044&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=37044&r=trysnapshot44 Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=37044&r=trysnapshot51 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=37044&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=37044&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=37044&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=37044&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=37044&r=needscript Try newer version: http://bugs.php.net/fix.php?id=37044&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=37044&r=support Expected behavior: http://bugs.php.net/fix.php?id=37044&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=37044&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=37044&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=37044&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37044&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=37044&r=dst IIS Stability: http://bugs.php.net/fix.php?id=37044&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=37044&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=37044&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=37044&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=37044&r=mysqlcfg