xref: /PHP-8.0/ext/phar/tests/tar/033a.phpt (revision f8d79582)
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--CLEAN--
38<?php
39unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
40?>
41--EXPECTF--
42bool(false)
43Cannot modify permissions for file "a.php" in phar "%s033a.phar.tar", write operations are prohibited
44