Usage
Interactive shell
Command line usage
PHP Manual

## Input/output streams

The CLI SAPI defines a few constants for I/O streams to make programming for the command line a bit easier.

CLI specific Constants
Constant | Description
--- | ---
`STDIN` | An already opened stream to stdin. This saves opening it with `<?php $stdin = fopen('php://stdin', 'r'); ?>` If you want to read single line from stdin, you can use `<?php $line = trim(fgets(STDIN)); // reads one line from STDIN fscanf(STDIN, "%d\n", $number); // reads number from STDIN ?>`
`STDOUT` | An already opened stream to stdout. This saves opening it with `<?php $stdout = fopen('php://stdout', 'w'); ?>`
`STDERR` | An already opened stream to stderr. This saves opening it with `<?php $stderr = fopen('php://stderr', 'w'); ?>`

Given the above, you don't need to open e.g. a stream for stderr yourself but simply use the constant instead of the stream resource:

    php -r 'fwrite(STDERR, "stderr\n");'

You do not need to explicitly close these streams, as they are closed automatically by PHP when your script ends.

> Note: These constants are not available in case of reading PHP script from stdin.

Usage
Interactive shell
Command line usage
PHP Manual