Bug #71616 [NEW]: realpath and DirectoryIterator::getRealPath not work in phar pack file

From: Date: Wed, 17 Feb 2016 09:27:38 +0000
Subject: Bug #71616 [NEW]: realpath and DirectoryIterator::getRealPath not work in phar pack file
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-199292@lists.php.net to get a copy of this message
From: janpoem at gmail dot com Operating system: Windows 10 PHP version: 7.0.3 Package: Filesystem function related Bug Type: Bug Bug description:realpath and DirectoryIterator::getRealPath not work in phar pack file Description: ------------ This is a very strange question. It looks realpath returns false, but it's not. This happens in the phar file. Test script: --------------- <?php /** * realpath not work in phar pack file */ $paths = [ 'phar://phar_test.phar/hello', 'phar://phar_test.phar/hello/a.php', ]; function let_it_work(string $path) { $realPath = realpath($path); if ($realPath !== false) { $path = $realPath; } return $path; } function show_false(string $path) { return realpath($path); } foreach ($paths as $path) { var_dump(file_exists($path)); // return true var_dump(realpath($path)); // return false var_dump(let_it_work($path)); // it's work var_dump(show_false($path)); // return false } function entry(DirectoryIterator $dir = null) { if ($dir === null) $dir = new DirectoryIterator(__DIR__); foreach ($dir as $item) { $path = $item->getPathname(); var_dump(file_exists($path)); // true var_dump($item->getRealPath()); // false } } entry(new DirectoryIterator('phar://phar_test.phar')); -- Edit bug report at https://bugs.php.net/bug.php?id=71616&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=71616&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=71616&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=71616&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=71616&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=71616&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=71616&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=71616&r=needscript Try newer version: https://bugs.php.net/fix.php?id=71616&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=71616&r=support Expected behavior: https://bugs.php.net/fix.php?id=71616&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=71616&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=71616&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=71616&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=71616&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=71616&r=dst IIS Stability: https://bugs.php.net/fix.php?id=71616&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=71616&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=71616&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=71616&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=71616&r=mysqlcfg

« previous php.bugs (#199292) next »