ID: 39351 Comment by: webtech at get-telecom dot fr Reported By: lampiluoto at gmail dot com Status: Open Bug Type: *Directory/Filesystem functions Operating System: Solaris10 PHP Version: 5.2.0 New Comment:
What's up about this bug ? Previous Comments: ------------------------------------------------------------------------ [2006-12-05 23:30:09] php dot net at ryanfindley dot com I forgot to mention that I tried the snapshot listed in the comment from 15 Nov 12:42pm UTC (PHP 5.2.1-dev), and experienced the same problem ------------------------------------------------------------------------ [2006-12-05 23:06:42] php dot net at ryanfindley dot com I'm experiencing the same problem on OS X 10.4 PPC 64bit(G5), but not on OS X 10.4 Intel 32bit. If I revert my PHP install to 5.1.4, the problem goes away but using 5.2.0 all of my include() and require() statements that use a relative path fail, and getcwd() returns '' ------------------------------------------------------------------------ [2006-11-15 13:30:33] lampiluoto at gmail dot com Here's truss output with php5.2-200611151130. There seems to be changes for stat()'ing the file and though it fixes the first include('inc/config.php') it causes problems later on. Including func_prepare.php is with absolute path in PHP code and then including db_interface.php is with relative path. Just for testing ;) I have --prefix=/opt/httpd/dev-installation/php5 for configuring PHP and it even tries to stat() files from there. Result is failing includes. Truss output differs quite a lot from 5.1.6. # # php5.2-200611151130 # 25255: stat("./inc/config.php", 0xFFFFFD7FFFDFDF70) = 0 25255: getcwd(0xFFFFFD7FFFDFD200, 1024) Err#13 EACCES [file_dac_read] 25255: resolvepath("./inc/config.php", "inc/config.php", 1024) = 14 25255: getcwd(0xFFFFFD7FFFDFC500, 1024) Err#13 EACCES [file_dac_read] 25255: stat("^B", 0xFFFFFD7FFFDFDE90) Err#2 ENOENT 25255: stat("/opt/httpd/dev-installation/php5/lib/php/inc/config.php",0xFFFFFD7FFFDFDF70) Err#2 ENOENT 25255: stat("/data/sites/www.mysite.example/dev-html/inc/config.php",0xFFFFFD7FFFDFDF70) = 0 25255: resolvepath("/data/sites/www.mysite.example/dev-html/inc/config.php", "/data/sites/www.mysite.example/dev-html/inc/config.php", 1024) = 54 25255: stat("/data/sites/www.mysite.example/dev-html/inc/config.php", 0xFFFFFD7FFFDFDE90) = 0 25255: resolvepath("/data/sites/www.mysite.example/dev-html/inc/config.php", "/data/sites/www.mysite.example/dev-html/inc/config.php", 1024) = 54 25255: open("/data/sites/www.mysite.example/dev-html/inc/config.php",O_RDONLY) = 17 25255: fstat(17, 0x007BCA68) = 0 25255: read(17, " < ? p h p\n\n / / ".., 8192) = 1572 25255: read(17, 0x007BCD10, 8192) = 0 25255: close(17) = 0 25255: time() = 1163596213 25255: resolvepath("/data/sites/www.mysite.example/dev-html/inc/func_prepare.php", "/data/sites/www.mysite.example/dev-html/inc/func_prepare.php", 1024) = 60 25255: stat("/data/sites/www.mysite.example/dev-html/inc/func_prepare.php",0xFFFFFD7FFFDFDE60) = 0 25255: resolvepath("/data/sites/www.mysite.example/dev-html/inc/func_prepare.php", "/data/sites/www.mysite.example/dev-html/inc/func_prepare.php", 1024) = 60 25255: open("/data/sites/www.mysite.example/dev-html/inc/func_prepare.php",O_RDONLY) = 17 25255: fstat(17, 0x007BCA68) = 0 25255: read(17, " < ? p h p\n\n / /\n".., 8192) = 1171 25255: read(17, 0x007C1000, 8192) = 0 25255: close(17) = 0 25255: stat("./inc/db_interface.php", 0xFFFFFD7FFFDFD0C0) = 0 25255: getcwd(0xFFFFFD7FFFDFC350, 1024) Err#13 EACCES [file_dac_read] 25255: resolvepath("./inc/db_interface.php", "inc/db_interface.php", 1024) = 20 25255: getcwd(0xFFFFFD7FFFDFB650, 1024) Err#13 EACCES [file_dac_read] 25255: stat("^C", 0xFFFFFD7FFFDFCFE0) Err#2 ENOENT 25255: stat("/opt/httpd/dev-installation/php5/lib/php/inc/db_interface.php", 0xFFFFFD7FFFDFD0C0) Err#2 ENOENT 25255: stat("/data/sites/www.mysite.example/dev-html/inc/inc/db_interface.php", 0xFFFFFD7FFFDFD0C0) Err#2 ENOENT 25255: open("/data/logs/httpd/error_log-php", O_WRONLY|O_APPEND|O_CREAT,0666) = 17 25255: lseek(17, 0, SEEK_END) = 9904 25255: time() = 1163596213 25255: fstat(17, 0xFFFFFD7FFFDFB990) = 0 25255: fstat(17, 0xFFFFFD7FFFDFB8E0) = 0 25255: ioctl(17, TCGETA, 0xFFFFFD7FFFDFB950) Err#25 ENOTTY 25255: write(17, " [ 1 5 - N o v - 2 0 0 6".., 241) = 241 25255: close(17) = 0 25255: open("/data/logs/httpd/error_log-php", O_WRONLY|O_APPEND|O_CREAT,0666) = 17 ------------------------------------------------------------------------ [2006-11-15 12:42:59] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip ------------------------------------------------------------------------ [2006-11-12 19:17:43] lampiluoto at gmail dot com Here is part of the truss output, I can provide the whole output if needed. After failing getcwd() 5.2.0 tries to open file with wrong path. # # PHP-5.1.6 # 662: stat("./inc/config.php", 0xFFFFFD7FFFDFDEE0) = 0 662: resolvepath("./inc/config.php", "inc/config.php", 1024) = 14 662: getcwd(0xFFFFFD7FFFDFD160, 1024) Err#13 EACCES [file_dac_read] 662: stat("./inc/config.php", 0xFFFFFD7FFFDFDE00) = 0 662: getcwd(0xFFFFFD7FFFDFDA10, 1024) Err#13 EACCES [file_dac_read] 662: resolvepath("./inc/config.php", "inc/config.php", 1024) = 14 662: getcwd(0xFFFFFD7FFFDFCCE0, 1024) Err#13 EACCES [file_dac_read] 662: open("./inc/config.php", O_RDONLY) = 17 662: fstat(17, 0x00783920) = 0 662: lseek(17, 0, SEEK_CUR) = 0 662: read(17, " < ? p h p\n\n / / ".., 8192) = 1572 662: read(17, 0x0077F258, 8192) = 0 662: read(17, 0x0077F258, 8192) = 0 662: close(17) = 0 662: time() = 1163357246 # # PHP-5.2.0 # 17703: stat("./inc/config.php", 0xFFFFFD7FFFDFDFB0) = 0 17703: resolvepath("./inc/config.php", "inc/config.php", 1024) = 14 17703: getcwd(0xFFFFFD7FFFDFD230, 1024) Err#13 EACCES [file_dac_read] 17703: stat("./inc/config.php", 0xFFFFFD7FFFDFDED0) = 0 17703: getcwd(0xFFFFFD7FFFDFDAE0, 1024) Err#13 EACCES [file_dac_read] 17703: resolvepath("./inc/config.php", "inc/config.php", 1024) = 14 17703: getcwd(0xFFFFFD7FFFDFCDE0, 1024) Err#13 EACCES [file_dac_read] 17703: open("/inc/config.php", O_RDONLY) Err#2 ENOENT 17703: open("/data/logs/httpd/error_log-php", O_WRONLY|O_APPEND|O_CREAT,0666) = 17 17703: lseek(17, 0, SEEK_END) = 0 17703: time() = 1163358385 17703: fstat(17, 0xFFFFFD7FFFDFC880) = 0 17703: fstat(17, 0xFFFFFD7FFFDFC7D0) = 0 17703: ioctl(17, TCGETA, 0xFFFFFD7FFFDFC840) Err#25 ENOTTY 17703: write(17, " [ 1 2 - N o v - 2 0 0 6".., 224) = 224 17703: close(17) = 0 ------------------------------------------------------------------------ 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/39351 -- Edit this bug report at http://bugs.php.net/?id=39351&edit=1