mirror of
https://github.com/php/php-src.git
synced 2026-03-28 18:22:42 +01:00
PHP requires boolean typehints to be written "bool" and disallows
"boolean" as an alias. This changes the error messages to match
the actual type name and avoids confusing messages like "must be
of type boolean, boolean given".
This a followup to ce1d69a1f6, which
implements the same change for integer->int.
45 lines
1.4 KiB
PHP
45 lines
1.4 KiB
PHP
--TEST--
|
|
Phar: fopen a .phar for writing (existing file)
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded("phar")) die("skip");
|
|
?>
|
|
--INI--
|
|
phar.readonly=1
|
|
phar.require_hash=0
|
|
--FILE--
|
|
<?php
|
|
$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
|
|
$pname = 'phar://' . $fname;
|
|
$file = "<?php __HALT_COMPILER(); ?>";
|
|
|
|
$files = array();
|
|
$files['a.php'] = '<?php echo "This is a\n"; ?>';
|
|
$files['b.php'] = '<?php echo "This is b\n"; ?>';
|
|
$files['b/c.php'] = '<?php echo "This is b/c\n"; ?>';
|
|
include 'files/phar_test.inc';
|
|
|
|
function err_handler($errno, $errstr, $errfile, $errline) {
|
|
echo "Recoverable fatal error: $errstr in $errfile on line $errline\n";
|
|
}
|
|
|
|
set_error_handler("err_handler", E_RECOVERABLE_ERROR);
|
|
|
|
$fp = fopen($pname . '/b/c.php', 'wb');
|
|
fwrite($fp, 'extra');
|
|
fclose($fp);
|
|
include $pname . '/b/c.php';
|
|
?>
|
|
===DONE===
|
|
--CLEAN--
|
|
<?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
|
|
--EXPECTF--
|
|
|
|
Warning: fopen(phar://%sopen_for_write_existing_b.phar.php/b/c.php): failed to open stream: phar error: write operations disabled by the php.ini setting phar.readonly in %sopen_for_write_existing_b.php on line %d
|
|
|
|
Warning: fwrite() expects parameter 1 to be resource, bool given in %sopen_for_write_existing_b.php on line %d
|
|
|
|
Warning: fclose() expects parameter 1 to be resource, bool given in %sopen_for_write_existing_b.php on line %d
|
|
This is b/c
|
|
===DONE===
|