mirror of
https://github.com/php/php-src.git
synced 2024-10-22 08:47:29 +00:00
40 lines
870 B
PHP
40 lines
870 B
PHP
--TEST--
|
|
Bug #22414 (passthru() does not read data correctly)
|
|
--INI--
|
|
safe_mode=
|
|
output_handler=
|
|
--FILE--
|
|
<?php
|
|
|
|
$php = getenv('TEST_PHP_EXECUTABLE');
|
|
$tmpfile = tempnam('/tmp', 'phpt');
|
|
$args = ' -n -dsafe_mode=off ';
|
|
|
|
/* Regular Data Test */
|
|
passthru($php . $args . ' -r " echo \"HELLO\"; "');
|
|
|
|
echo "\n";
|
|
|
|
/* Binary Data Test */
|
|
|
|
if (substr(PHP_OS, 0, 3) != 'WIN') {
|
|
$cmd = $php . $args . ' -r \"readfile(@getenv(\'TEST_PHP_EXECUTABLE\')); \"';
|
|
$cmd = $php . $args . ' -r \' passthru("'.$cmd.'"); \' > '.$tmpfile ;
|
|
} else {
|
|
$cmd = $php . $args . ' -r \"readfile(@getenv(\\\\\\"TEST_PHP_EXECUTABLE\\\\\\")); \"';
|
|
$cmd = $php . $args . ' -r " passthru(\''.$cmd.'\');" > '.$tmpfile ;
|
|
}
|
|
exec($cmd);
|
|
|
|
if (md5_file($php) == md5_file($tmpfile)) {
|
|
echo "Works\n";
|
|
} else {
|
|
echo "Does not work\n";
|
|
}
|
|
|
|
@unlink($tmpfile);
|
|
?>
|
|
--EXPECT--
|
|
HELLO
|
|
Works
|