Browse Source
Add VT100 support for Windows
Add VT100 support for Windows
Fix function names prefix Use Unicode version of GetFinalPathNameByHandle Use EG(windows_version_info) instead of RtlGetVersion Use the specified handle_id instead of STD_OUTPUT_HANDLE Switch from stream name to stream resource Allow running tests capturing only stdout and/or stderr Add tests for stream_vt100_support function Export Win32 console functions Fix x64 build Use zend_long instead of long long, use GetConsole instead of GetFinalPathNameByHandleW to check if a handle is a valid console stream Always use zend_long on any platform Use _get_osfhandle to determine the standard handle Accept stream names Raise warnings in case of invalid stream parameter Return true if disabling VT100 support on a not-console/redirected stream or on old Windows versions Remove php_win32_console_os_supports_vt100 Differentiate stdin vs stdout/stderr Simplify setting flag Allow avoid piping STDIN Let stream_vt100_support accept only resources Fix run-tests Revert console flags in case of failure Simplify logic of stream_vt100_support when setting the flag Return true if succeeded, false otherwise Drop support for STDIN More comprehensive tests for stream_vt100_support Remove old tests Fix name of included file and use absolute paths Enable ENABLE_VIRTUAL_TERMINAL_PROCESSING on Windows by default Remove tests for stream_vt100_support Split stream_vt100_support into stream_isatty+sapi_windows_vt100_support Add tests for stream_isatty Add tests for sapi_windows_vt100_support Return null from stream_isatty is neither Windows nor Posix Fallback to S_ISCHR if neither Windows nor Posix Avoid defining argc since it's only used once Better comment about php_win32_console_fileno_is_console Use events instead of cNumberOfEvents Do not restore previous console mode We need to restore previous console mode on failing SetConsole calls only for STDIN Don't configure STDOUT/STDERR on Windows with PHP_CLI_WIN32_NO_CONSOLEpull/2182/head
committed by
Anatol Belski
29 changed files with 2354 additions and 20 deletions
-
15ext/standard/basic_functions.c
-
114ext/standard/streamsfuncs.c
-
4ext/standard/streamsfuncs.h
-
65run-tests.php
-
9sapi/cli/php_cli.c
-
65tests/output/sapi_windows_vt100_support.inc
-
14tests/output/sapi_windows_vt100_support_notwindows.phpt
-
145tests/output/sapi_windows_vt100_support_winko_err.phpt
-
145tests/output/sapi_windows_vt100_support_winko_in-err.phpt
-
145tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt
-
145tests/output/sapi_windows_vt100_support_winko_in-out.phpt
-
145tests/output/sapi_windows_vt100_support_winko_out-err.phpt
-
145tests/output/sapi_windows_vt100_support_winko_out.phpt
-
145tests/output/sapi_windows_vt100_support_winok_err.phpt
-
145tests/output/sapi_windows_vt100_support_winok_in-err.phpt
-
145tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt
-
145tests/output/sapi_windows_vt100_support_winok_in-out.phpt
-
145tests/output/sapi_windows_vt100_support_winok_out-err.phpt
-
145tests/output/sapi_windows_vt100_support_winok_out.phpt
-
36tests/output/stream_isatty.inc
-
26tests/output/stream_isatty_err.phpt
-
26tests/output/stream_isatty_in-err.phpt
-
26tests/output/stream_isatty_in-out-err.phpt
-
26tests/output/stream_isatty_in-out.phpt
-
26tests/output/stream_isatty_out-err.phpt
-
26tests/output/stream_isatty_out.phpt
-
4win32/build/config.w32
-
93win32/console.c
-
59win32/console.h
@ -0,0 +1,65 @@ |
|||
<?php |
|||
|
|||
function resetVT100State() |
|||
{ |
|||
$state = array( |
|||
sapi_windows_vt100_support(STDIN), |
|||
sapi_windows_vt100_support(STDOUT), |
|||
sapi_windows_vt100_support(STDERR), |
|||
); |
|||
sapi_windows_vt100_support(STDIN, false); |
|||
sapi_windows_vt100_support(STDOUT, false); |
|||
sapi_windows_vt100_support(STDERR, false); |
|||
|
|||
return $state; |
|||
} |
|||
|
|||
function restoreVT100State(array $state) |
|||
{ |
|||
sapi_windows_vt100_support(STDIN, $state[0]); |
|||
sapi_windows_vt100_support(STDOUT, $state[1]); |
|||
sapi_windows_vt100_support(STDERR, $state[2]); |
|||
} |
|||
|
|||
function testToStdOut() |
|||
{ |
|||
$state = resetVT100State(); |
|||
|
|||
$sampleStreams = array( |
|||
'STDIN (constant)' => STDIN, |
|||
'STDIN (fopen)' => fopen('php://stdin', 'rb'), |
|||
'STDIN (php://fd/0)' => fopen('php://fd/0', 'rb'), |
|||
'STDOUT (constant)' => STDOUT, |
|||
'STDOUT (fopen)' => fopen('php://stdout', 'wb'), |
|||
'STDOUT (php://fd/1)' => fopen('php://fd/1', 'wb'), |
|||
'STDERR (constant)' => STDERR, |
|||
'STDERR (fopen)' => fopen('php://stderr', 'wb'), |
|||
'STDERR (php://fd/2)' => fopen('php://fd/2', 'wb'), |
|||
'Not a stream' => 'foo', |
|||
'Invalid stream (php://temp)' => fopen('php://temp', 'wb'), |
|||
'Invalid stream (php://input)' => fopen('php://input', 'wb'), |
|||
'Invalid stream (php://memory)' => fopen('php://memory', 'wb'), |
|||
'File stream' => $closeMe = fopen(__FILE__, 'rb'), |
|||
); |
|||
|
|||
foreach ($sampleStreams as $name => $stream) { |
|||
echo "$name:\n"; |
|||
echo "- current value : "; var_dump(sapi_windows_vt100_support($stream)); |
|||
echo "- enabling VT100 : "; var_dump(sapi_windows_vt100_support($stream, true)); |
|||
echo "- current value : "; var_dump(sapi_windows_vt100_support($stream)); |
|||
echo "- disabling VT100: "; var_dump(sapi_windows_vt100_support($stream, false)); |
|||
echo "- current value : "; var_dump(sapi_windows_vt100_support($stream)); |
|||
} |
|||
|
|||
fclose($closeMe); |
|||
restoreVT100State($state); |
|||
} |
|||
|
|||
function testToStdErr() |
|||
{ |
|||
ob_start(); |
|||
testToStdOut(); |
|||
$result = ob_get_contents(); |
|||
ob_end_clean(); |
|||
fwrite(STDERR, $result); |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
--TEST-- |
|||
Test that sapi_windows_vt100_support exists only on Windows |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') === 0) { |
|||
echo "skip Only for not Windows systems"; |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
var_dump(function_exists('sapi_windows_vt100_support')); |
|||
?> |
|||
--EXPECT-- |
|||
bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on older Windows versions with redirected STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) >= 0) { |
|||
echo "skip Only for Windows systems < 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) >= 0) { |
|||
echo "skip Only for Windows systems < 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/STDOUT/STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) >= 0) { |
|||
echo "skip Only for Windows systems < 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDOUT STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/STDOUT |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) >= 0) { |
|||
echo "skip Only for Windows systems < 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDOUT |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on older Windows versions with redirected STDOUT/STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) >= 0) { |
|||
echo "skip Only for Windows systems < 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDOUT STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on older Windows versions with redirected STDOUT |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) >= 0) { |
|||
echo "skip Only for Windows systems < 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDOUT |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on newer Windows versions with redirected STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) < 0) { |
|||
echo "skip Only for Windows systems >= 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) < 0) { |
|||
echo "skip Only for Windows systems >= 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/STDOUT/STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) < 0) { |
|||
echo "skip Only for Windows systems >= 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDOUT STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/STDOUT |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) < 0) { |
|||
echo "skip Only for Windows systems >= 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDOUT |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on newer Windows versions with redirected STDOUT/STDERR |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) < 0) { |
|||
echo "skip Only for Windows systems >= 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDOUT STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test sapi_windows_vt100_support on newer Windows versions with redirected STDOUT |
|||
--SKIPIF-- |
|||
<?php |
|||
if (stripos(PHP_OS, 'WIN') !== 0) { |
|||
echo "skip Only for Windows systems"; |
|||
} elseif (version_compare( |
|||
PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, |
|||
'10.0.10586' |
|||
) < 0) { |
|||
echo "skip Only for Windows systems >= 10.0.10586"; |
|||
} |
|||
?> |
|||
--CAPTURE_STDIO-- |
|||
STDOUT |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/sapi_windows_vt100_support.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDIN (php://fd/0): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDOUT (php://fd/1): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
STDERR (constant): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (fopen): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
STDERR (php://fd/2): |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(true) |
|||
- current value : bool(true) |
|||
- disabling VT100: bool(true) |
|||
- current value : bool(false) |
|||
Not a stream: |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://input): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://memory): |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- enabling VT100 : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- disabling VT100: |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
- current value : |
|||
Warning: sapi_windows_vt100_support() was not able to analyze the specified stream in %s on line %d |
|||
bool(false) |
|||
File stream: |
|||
- current value : bool(false) |
|||
- enabling VT100 : bool(false) |
|||
- current value : bool(false) |
|||
- disabling VT100: bool(false) |
|||
- current value : bool(false) |
|||
@ -0,0 +1,36 @@ |
|||
<?php |
|||
|
|||
function testToStdOut() |
|||
{ |
|||
$sampleStreams = array( |
|||
'STDIN (constant)' => STDIN, |
|||
'STDIN (fopen)' => fopen('php://stdin', 'rb'), |
|||
'STDIN (php://fd/0)' => fopen('php://fd/0', 'rb'), |
|||
'STDOUT (constant)' => STDOUT, |
|||
'STDOUT (fopen)' => fopen('php://stdout', 'wb'), |
|||
'STDOUT (php://fd/1)' => fopen('php://fd/1', 'wb'), |
|||
'STDERR (constant)' => STDERR, |
|||
'STDERR (fopen)' => fopen('php://stderr', 'wb'), |
|||
'STDERR (php://fd/2)' => fopen('php://fd/2', 'wb'), |
|||
'Not a stream' => 'foo', |
|||
'Invalid stream (php://temp)' => fopen('php://temp', 'wb'), |
|||
'Invalid stream (php://input)' => fopen('php://input', 'wb'), |
|||
'Invalid stream (php://memory)' => fopen('php://memory', 'wb'), |
|||
'File stream' => $closeMe = fopen(__FILE__, 'rb'), |
|||
); |
|||
|
|||
foreach ($sampleStreams as $name => $stream) { |
|||
echo "$name: "; var_dump(stream_isatty($stream)); |
|||
} |
|||
|
|||
fclose($closeMe); |
|||
} |
|||
|
|||
function testToStdErr() |
|||
{ |
|||
ob_start(); |
|||
testToStdOut(); |
|||
$result = ob_get_contents(); |
|||
ob_end_clean(); |
|||
fwrite(STDERR, $result); |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
--TEST-- |
|||
Test stream_isatty with redirected STDERR |
|||
--CAPTURE_STDIO-- |
|||
STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/stream_isatty.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): bool(true) |
|||
STDIN (fopen): bool(true) |
|||
STDIN (php://fd/0): bool(true) |
|||
STDOUT (constant): bool(true) |
|||
STDOUT (fopen): bool(true) |
|||
STDOUT (php://fd/1): bool(true) |
|||
STDERR (constant): bool(false) |
|||
STDERR (fopen): bool(false) |
|||
STDERR (php://fd/2): bool(false) |
|||
Not a stream: |
|||
Warning: stream_isatty() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): bool(false) |
|||
Invalid stream (php://input): bool(false) |
|||
Invalid stream (php://memory): bool(false) |
|||
File stream: bool(false) |
|||
@ -0,0 +1,26 @@ |
|||
--TEST-- |
|||
Test stream_isatty with redirected STDIN/STDERR |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/stream_isatty.inc'; |
|||
testToStdErr(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): bool(false) |
|||
STDIN (fopen): bool(false) |
|||
STDIN (php://fd/0): bool(false) |
|||
STDOUT (constant): bool(true) |
|||
STDOUT (fopen): bool(true) |
|||
STDOUT (php://fd/1): bool(true) |
|||
STDERR (constant): bool(false) |
|||
STDERR (fopen): bool(false) |
|||
STDERR (php://fd/2): bool(false) |
|||
Not a stream: |
|||
Warning: stream_isatty() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): bool(false) |
|||
Invalid stream (php://input): bool(false) |
|||
Invalid stream (php://memory): bool(false) |
|||
File stream: bool(false) |
|||
@ -0,0 +1,26 @@ |
|||
--TEST-- |
|||
Test stream_isatty with redirected STDIN/STDOUT/STDERR |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDOUT STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/stream_isatty.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): bool(false) |
|||
STDIN (fopen): bool(false) |
|||
STDIN (php://fd/0): bool(false) |
|||
STDOUT (constant): bool(false) |
|||
STDOUT (fopen): bool(false) |
|||
STDOUT (php://fd/1): bool(false) |
|||
STDERR (constant): bool(false) |
|||
STDERR (fopen): bool(false) |
|||
STDERR (php://fd/2): bool(false) |
|||
Not a stream: |
|||
Warning: stream_isatty() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): bool(false) |
|||
Invalid stream (php://input): bool(false) |
|||
Invalid stream (php://memory): bool(false) |
|||
File stream: bool(false) |
|||
@ -0,0 +1,26 @@ |
|||
--TEST-- |
|||
Test stream_isatty with redirected STDIN/STDOUT |
|||
--CAPTURE_STDIO-- |
|||
STDIN STDOUT |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/stream_isatty.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): bool(false) |
|||
STDIN (fopen): bool(false) |
|||
STDIN (php://fd/0): bool(false) |
|||
STDOUT (constant): bool(false) |
|||
STDOUT (fopen): bool(false) |
|||
STDOUT (php://fd/1): bool(false) |
|||
STDERR (constant): bool(true) |
|||
STDERR (fopen): bool(true) |
|||
STDERR (php://fd/2): bool(true) |
|||
Not a stream: |
|||
Warning: stream_isatty() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): bool(false) |
|||
Invalid stream (php://input): bool(false) |
|||
Invalid stream (php://memory): bool(false) |
|||
File stream: bool(false) |
|||
@ -0,0 +1,26 @@ |
|||
--TEST-- |
|||
Test stream_isatty with redirected STDOUT/STDERR |
|||
--CAPTURE_STDIO-- |
|||
STDOUT STDERR |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/stream_isatty.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): bool(true) |
|||
STDIN (fopen): bool(true) |
|||
STDIN (php://fd/0): bool(true) |
|||
STDOUT (constant): bool(false) |
|||
STDOUT (fopen): bool(false) |
|||
STDOUT (php://fd/1): bool(false) |
|||
STDERR (constant): bool(false) |
|||
STDERR (fopen): bool(false) |
|||
STDERR (php://fd/2): bool(false) |
|||
Not a stream: |
|||
Warning: stream_isatty() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): bool(false) |
|||
Invalid stream (php://input): bool(false) |
|||
Invalid stream (php://memory): bool(false) |
|||
File stream: bool(false) |
|||
@ -0,0 +1,26 @@ |
|||
--TEST-- |
|||
Test stream_isatty with redirected STDOUT |
|||
--CAPTURE_STDIO-- |
|||
STDOUT |
|||
--FILE-- |
|||
<?php |
|||
require dirname(__FILE__).'/stream_isatty.inc'; |
|||
testToStdOut(); |
|||
?> |
|||
--EXPECTF-- |
|||
STDIN (constant): bool(true) |
|||
STDIN (fopen): bool(true) |
|||
STDIN (php://fd/0): bool(true) |
|||
STDOUT (constant): bool(false) |
|||
STDOUT (fopen): bool(false) |
|||
STDOUT (php://fd/1): bool(false) |
|||
STDERR (constant): bool(true) |
|||
STDERR (fopen): bool(true) |
|||
STDERR (php://fd/2): bool(true) |
|||
Not a stream: |
|||
Warning: stream_isatty() expects parameter 1 to be resource, string given in %s on line %d |
|||
bool(false) |
|||
Invalid stream (php://temp): bool(false) |
|||
Invalid stream (php://input): bool(false) |
|||
Invalid stream (php://memory): bool(false) |
|||
File stream: bool(false) |
|||
@ -0,0 +1,93 @@ |
|||
/* |
|||
+----------------------------------------------------------------------+ |
|||
| PHP Version 7 | |
|||
+----------------------------------------------------------------------+ |
|||
| Copyright (c) 1997-2016 The PHP Group | |
|||
+----------------------------------------------------------------------+ |
|||
| This source file is subject to version 3.01 of the PHP license, | |
|||
| that is bundled with this package in the file LICENSE, and is | |
|||
| available through the world-wide-web at the following url: | |
|||
| http://www.php.net/license/3_01.txt | |
|||
| If you did not receive a copy of the PHP license and are unable to | |
|||
| obtain it through the world-wide-web, please send a note to | |
|||
| license@php.net so we can mail you a copy immediately. | |
|||
+----------------------------------------------------------------------+ |
|||
| Author: Michele Locati <mlocati@gmail.com> | |
|||
+----------------------------------------------------------------------+ |
|||
*/ |
|||
|
|||
/* $Id$ */ |
|||
|
|||
#include "win32/console.h" |
|||
|
|||
|
|||
PHP_WINUTIL_API BOOL php_win32_console_fileno_is_console(zend_long fileno) |
|||
{ |
|||
BOOL result = FALSE; |
|||
HANDLE handle = (HANDLE) _get_osfhandle(fileno); |
|||
|
|||
if (handle != INVALID_HANDLE_VALUE) { |
|||
DWORD mode; |
|||
if (GetConsoleMode(handle, &mode)) { |
|||
result = TRUE; |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
PHP_WINUTIL_API BOOL php_win32_console_fileno_has_vt100(zend_long fileno) |
|||
{ |
|||
BOOL result = FALSE; |
|||
HANDLE handle = (HANDLE) _get_osfhandle(fileno); |
|||
|
|||
if (handle != INVALID_HANDLE_VALUE) { |
|||
DWORD events; |
|||
|
|||
if (fileno != 0 && !GetNumberOfConsoleInputEvents(handle, &events)) { |
|||
// Not STDIN |
|||
DWORD mode; |
|||
|
|||
if (GetConsoleMode(handle, &mode)) { |
|||
if (mode & ENABLE_VIRTUAL_TERMINAL_PROCESSING) { |
|||
result = TRUE; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
PHP_WINUTIL_API BOOL php_win32_console_fileno_set_vt100(zend_long fileno, BOOL enable) |
|||
{ |
|||
BOOL result = FALSE; |
|||
HANDLE handle = (HANDLE) _get_osfhandle(fileno); |
|||
|
|||
if (handle != INVALID_HANDLE_VALUE) { |
|||
DWORD events; |
|||
|
|||
if (fileno != 0 && !GetNumberOfConsoleInputEvents(handle, &events)) { |
|||
// Not STDIN |
|||
DWORD mode; |
|||
|
|||
if (GetConsoleMode(handle, &mode)) { |
|||
DWORD newMode; |
|||
|
|||
if (enable) { |
|||
newMode = mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING; |
|||
} |
|||
else { |
|||
newMode = mode & ~ENABLE_VIRTUAL_TERMINAL_PROCESSING; |
|||
} |
|||
if (newMode == mode) { |
|||
result = TRUE; |
|||
} |
|||
else { |
|||
if (SetConsoleMode(handle, newMode)) { |
|||
result = TRUE; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
@ -0,0 +1,59 @@ |
|||
/* |
|||
+----------------------------------------------------------------------+ |
|||
| PHP Version 7 | |
|||
+----------------------------------------------------------------------+ |
|||
| Copyright (c) 1997-2016 The PHP Group | |
|||
+----------------------------------------------------------------------+ |
|||
| This source file is subject to version 3.01 of the PHP license, | |
|||
| that is bundled with this package in the file LICENSE, and is | |
|||
| available through the world-wide-web at the following url: | |
|||
| http://www.php.net/license/3_01.txt | |
|||
| If you did not receive a copy of the PHP license and are unable to | |
|||
| obtain it through the world-wide-web, please send a note to | |
|||
| license@php.net so we can mail you a copy immediately. | |
|||
+----------------------------------------------------------------------+ |
|||
| Author: Michele Locati <mlocati@gmail.com> | |
|||
+----------------------------------------------------------------------+ |
|||
*/ |
|||
|
|||
/* $Id$ */ |
|||
|
|||
#ifndef PHP_WIN32_CONSOLE_H |
|||
#define PHP_WIN32_CONSOLE_H |
|||
|
|||
#ifndef PHP_WINUTIL_API |
|||
#ifdef PHP_EXPORTS |
|||
# define PHP_WINUTIL_API __declspec(dllexport) |
|||
#else |
|||
# define PHP_WINUTIL_API __declspec(dllimport) |
|||
#endif |
|||
#endif |
|||
|
|||
#include "php.h" |
|||
#include "php_streams.h" |
|||
#include <windows.h> |
|||
|
|||
#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING |
|||
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 |
|||
#endif |
|||
|
|||
|
|||
/* |
|||
Check if a file descriptor associated to a stream is a console |
|||
(valid fileno, neither redirected nor piped) |
|||
*/ |
|||
PHP_WINUTIL_API BOOL php_win32_console_fileno_is_console(zend_long fileno); |
|||
|
|||
/* |
|||
Check if the console attached to a file descriptor (screen buffer, not STDIN) |
|||
has the ENABLE_VIRTUAL_TERMINAL_PROCESSING flag set |
|||
*/ |
|||
PHP_WINUTIL_API BOOL php_win32_console_fileno_has_vt100(zend_long fileno); |
|||
|
|||
/* |
|||
Set/unset the ENABLE_VIRTUAL_TERMINAL_PROCESSING flag for the screen buffer (STDOUT/STDERR) |
|||
associated to a file descriptor |
|||
*/ |
|||
PHP_WINUTIL_API BOOL php_win32_console_fileno_set_vt100(zend_long fileno, BOOL enable); |
|||
|
|||
#endif |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue