--TEST-- Phar::mapPhar filesize mismatch --SKIPIF-- --INI-- phar.require_hash=0 --FILE-- "; // filesize should be 1, and is 2 $files = array(); $files['a'] = 'a'; $manifest = ''; foreach($files as $name => $cont) { $len = strlen($cont)+1; $manifest .= pack('V', strlen($name)) . $name . pack('VVVVVV', $len, time(), $len, crc32($cont), 0x00000000, 0); } $alias = 'hio'; $manifest = pack('VnVV', count($files), 0x0900, 0x00000000, strlen($alias)) . $alias . $manifest; $file .= pack('V', strlen($manifest)) . $manifest; foreach($files as $cont) { $file .= $cont; } file_put_contents(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php', $file); include dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php'; echo file_get_contents('phar://hio/a'); ?> --CLEAN-- --EXPECTF-- Warning: file_get_contents(phar://hio/a): failed to open stream: phar error: internal corruption of phar "%s" (actual filesize mismatch on file "a") in %s on line %d