xref: /PHP-7.4/ext/phar/tests/tar/033a.phpt (revision 26dfce7f)
1--TEST--
2Phar::chmod tar-based
3--SKIPIF--
4<?php if (!extension_loaded("phar")) die("skip"); ?>
5--INI--
6phar.readonly=0
7phar.require_hash=0
8--FILE--
9<?php
10
11$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.tar';
12$alias = 'phar://hio';
13
14$phar = new Phar($fname);
15$phar['a.php'] = '<?php echo "This is a\n"; include "'.$alias.'/b.php"; ?>';
16$phar->setAlias('hio');
17$phar->addEmptyDir('test');
18$phar->stopBuffering();
19ini_set('phar.readonly', 1);
20
21try {
22	var_dump($phar['a.php']->isExecutable());
23	$phar['a.php']->chmod(0777);
24	var_dump($phar['a.php']->isExecutable());
25	$phar['a.php']->chmod(0666);
26	var_dump($phar['a.php']->isExecutable());
27	echo "test dir\n";
28	var_dump($phar['test']->isReadable());
29	$phar['test']->chmod(0000);
30	var_dump($phar['test']->isReadable());
31	$phar['test']->chmod(0666);
32	var_dump($phar['test']->isReadable());
33} catch (Exception $e) {
34	echo $e->getMessage() . "\n";
35}
36?>
37===DONE===
38--CLEAN--
39<?php
40unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
41?>
42--EXPECTF--
43bool(false)
44Cannot modify permissions for file "a.php" in phar "%s033a.phar.tar", write operations are prohibited
45===DONE===
46