ID: 15260 Comment by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Feedback Bug Type: *Directory/Filesystem functions Operating System: Linux PHP Version: 4.0.5 New Comment:
>From what I had been researching on google, compiling a package with uniformed 64 bits I/O functions requires -D_FILE_OFFSET_BITS=64 (and kernel 2.4.x and glibc 2.2.2+). I greped through the php 4.1.1 source code downloaded from php.net, couldn't find any trace of such option in any of the files. (At least I would think it should exist in the Makefile.ams) Maybe it had been forgotten? Previous Comments: ------------------------------------------------------------------------ [2002-01-28 20:43:45] [EMAIL PROTECTED] If the OS is compiled and installed on a 64 bit system, or with large file support (read: kernel, libc, others) then calls to stat() and friends return 64-bit structures. You don't need to call stat64 expressly. A stock RedHat-7.2 box isn't 64bit compliant unless it's compiled that way. The VCWD_STAT macro uses stat(path, buff), not stat(path, mode). I've had a look at stat.h and see the references to stat64(path, buff) if large file support is defined, but I'm in a little over my head here, so I bow to [EMAIL PROTECTED]'s mastery of php internals. :) I don't have access to a 64bit box or fs to confirm, so I guess I jumped the gun on this one, but IMHO, this isn't a PHP *bug*. Sorry for the confusion. ------------------------------------------------------------------------ [2002-01-28 15:44:49] [EMAIL PROTECTED] I believe I had found the reason of this bug. file_exists function ultimately calls VCWD_STAT function defined in TSRM/tsrm_virtual_cwd.h. However, the VCWD_STAT function is only a macro for stat(path, mode), and under Linux, you need stat64 for 64 bit file stats operations. hmm, and all the file I/Os under PHP right now do not support 64 bits. This is bad... ------------------------------------------------------------------------ [2002-01-28 15:26:54] [EMAIL PROTECTED] Can not seem to find the RPM(php-4.1.1) for Redhat 7.2. :( There is no build environment on testing machines. ------------------------------------------------------------------------ [2002-01-28 15:17:05] [EMAIL PROTECTED] and then again, can you please test with a more recent PHP release? ------------------------------------------------------------------------ [2002-01-28 15:15:54] [EMAIL PROTECTED] Where can I (and how do I) get the source code to file_exists function? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/?id=15260 Edit this bug report at http://bugs.php.net/?id=15260&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]