время
|
|
Часть V. Отличительные 62
результат <?php
$stdin = fopen('php://stdin', 'r');
?> Если вам необходимо прочитать строку из потока stdin, вы можете сделать это следующим образом: <?php
$line = trim(fgets(STDIN)); // читаем строку из STDIN
fscanf(STDIN, "%d\n", $number); // читаем число из STDIN
?>
STDOUT Уже открытый поток stdout. Константа хранит результат <?php
$stdout = fopen('php://stdout', 'w');
?>
STDERR Уже открытый поток stderr. Константа хранит результат <?php
$stderr = fopen('php://stderr', 'w');
?>
Имея все это, вы не должны самостоятельно открывать, например, поток для stderr, а просто используйте константу вместо дескриптора потока:
php -r 'fwrite(STDERR, "stderr\n");'
Также вам не надо закрывать эти потоки, PHP автоматически закрывает их после завершения скрипта.
CLI SAPI не изменяет текущую директорию на директорию исполняемого скрипта!
Пример, демонстрирующий отличие CGI SAPI: <?php
// Простейший