sapi_windows_vt100_support
Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.
&reftitle.description;
boolsapi_windows_vt100_support
resourcestream
boolenable
If enable is omitted, the function return &true; if the stream stream has VT100 control codes enabled, &false; otherwise.
If enable is specified, the function will try to enable or disable the VT100 features of the stream stream.
If the feature has been successfully enabled (or disabled), the function will return &true;, or &false; otherwise.
At startup, PHP tries to enable the VT100 feature of the STDOUT/STDERR streams. By the way, if those streams are redirected to a file, the VT100 features may not be enabled.
The function uses the ENABLE_VIRTUAL_TERMINAL_PROCESSING flag implemented in the Windows 10 API, so the VT100 feature may not be available on older Windows versions.
&reftitle.parameters;
stream
The stream on which the function will operate.
enable
If specified, the VT100 feature will be enabled (if &true;) or disabled (if &false;).
&reftitle.returnvalues;
If enable is not specified: returns &true; if the VT100 feature is enabled, &false; otherwise.
If enable is specified: &return.success;
&reftitle.examples;
sapi_windows_vt100_support default state
By default, STDOUT and STDERR have the VT100 feature enabled.
php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));"
&example.outputs.similar;
true true
By the way, if a stream is redirected, the VT100 feature will not be enabled:
php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));" 2>NUL
&example.outputs.similar;
true false
sapi_windows_vt100_support changing state
You won't be able to enable the VT100 feature of STDOUT or STDERR if the stream is redirected.
php -r "var_export(sapi_windows_vt100_support(STDOUT, true));echo ' ';var_export(sapi_windows_vt100_support(STDERR, true));" 2>NUL
&example.outputs.similar;
true false