1
0
mirror of https://github.com/php/php-src.git synced 2026-03-26 01:02:25 +01:00
Files
archived-php-src/sapi/cli
Michele Locati 33301d5bae 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_CONSOLE
2016-10-28 19:23:00 +02:00
..
2016-07-28 17:00:54 +02:00
2016-01-01 19:48:25 +02:00
2015-11-23 18:56:13 +02:00
2016-10-21 21:29:35 +02:00
2016-10-28 19:23:00 +02:00
2016-06-21 17:56:07 +03:00
2016-01-01 19:48:25 +02:00
2010-04-21 01:27:22 +00:00

The CLI (command line interface) SAPI has been introduced
with a goal of making PHP better at supporting the creation of 
stand alone applications.

It is based on CGI SAPI with all CGI specific things removed.

The main differences between the two:

* CLI is started up in quiet mode by default.
  (-q switch kept for compatibility)
* It does not change the working directory to that of the script.
  (-C switch kept for compatibility)
* Plain text error message
* $argc and $argv registered irrespective of the register_argc_argv 
  php.ini setting.
* implicit_flush always on
* -r option which allows execution of PHP code directly from
  the command line (e.g. php -r 'echo md5("test");' )
* Other more sophisticated command line switches (see: man php)
* max_execution_time is set to unlimited, overriding php.ini setting.