Return to bug22414.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Bug #22414 (passthru() does not read data correctly) 3: --INI-- 4: safe_mode= 5: output_handler= 6: --FILE-- 7: <?php 8: 9: $php = getenv('TEST_PHP_EXECUTABLE'); 10: $tmpfile = tempnam(__DIR__, 'phpt'); 11: $args = ' -n -dsafe_mode=off '; 12: 13: /* Regular Data Test */ 14: passthru($php . $args . ' -r " echo \"HELLO\"; "'); 15: 16: echo "\n"; 17: 18: /* Binary Data Test */ 19: 20: if (substr(PHP_OS, 0, 3) != 'WIN') { 21: $cmd = $php . $args . ' -r \"readfile(@getenv(\'TEST_PHP_EXECUTABLE\')); \"'; 22: $cmd = $php . $args . ' -r \' passthru("'.$cmd.'"); \' > '.$tmpfile ; 23: } else { 24: $cmd = $php . $args . ' -r \"readfile(@getenv(\\\\\\"TEST_PHP_EXECUTABLE\\\\\\")); \"'; 25: $cmd = $php . $args . ' -r " passthru(\''.$cmd.'\');" > '.$tmpfile ; 26: } 27: exec($cmd); 28: 29: if (md5_file($php) == md5_file($tmpfile)) { 30: echo "Works\n"; 31: } else { 32: echo "Does not work\n"; 33: } 34: 35: @unlink($tmpfile); 36: ?> 37: --EXPECT-- 38: HELLO 39: Works