--TEST-- Phar: zip-based phar, require_hash=1, no signature --EXTENSIONS-- phar zip --INI-- phar.readonly=1 phar.require_hash=0 --FILE-- init(); $zip->addFile('zip_001.php', 'addFile('internal/file/here', "hi there!\n"); $zip->addFile('.phar/stub.php', "__HALT_COMPILER();"); $zip->close(); try { $phar = new Phar($fname); var_dump($phar->getStub()); } catch (Exception $e) { echo $e->getMessage()."\n"; } ini_set('phar.require_hash', 0); try { $phar = new PharData($fname2); $phar['file'] = 'hi'; var_dump($phar->getSignature()); $phar->setSignatureAlgorithm(Phar::MD5); var_dump($phar->getSignature()); } catch (Exception $e) { echo $e->getMessage()."\n"; } ?> ===DONE=== --CLEAN-- --EXPECTF-- phar error: signature is missing in zip-based phar "%srequire_hash.phar.zip" bool(false) array(2) { ["hash"]=> string(32) "%s" ["hash_type"]=> string(3) "MD5" } ===DONE===