Интерактивная консоль
  
   Модуль CLI SAPI поддерживает интерактивную консоль, которую запускает
   опция -a, если PHP скомпилировали с параметром
   --with-readline.
   Начиная с PHP PHP 7.1.0 интерактивная консоль также доступна в ОС Windows,
   если модуль readline включили.
  
  
   Интерактивная консоль умеет принимать и выполнять сам PHP-код.
  
  
   Пример #1 Запуск кода в интерактивной консоли
   
$ php -a
Interactive shell
php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >
 
   
  
   Интерактивная консоль при нажатии клавиши Tab также автодополняет
   названия функций, констант, классов, переменных, вызовы
   статических методов и константы классов.
  
  
   Пример #2 Автодополнение по клавише Tab
   
    Двойное нажатие клавиши Tab покажет список вариантов,
    если доступно больше одного варианта дополнения:
   
php > strp[TAB][TAB]
strpbrk   strpos    strptime
php > strp
 
   
    Когда есть только одно дополнение, одиночное нажатие
    Tab дополнит оставшийся текст на той же самой строке:
   
    Дополнение также работает для имён, которые объявили
    в течение текущей интерактивной сессии:
   
php > $fooThisIsAReallyLongVariableName = 42;
php > $foo[TAB]ThisIsAReallyLongVariableName
 
   
  
   Интерактивная оболочка хранит историю команд, для доступа к которой
   нажимают стрелки вверх и вниз.
   История хранится в файле ~/.php_history.
   Начиная с PHP 8.4.0 установить путь к файлу с историей команд можно
   в переменной окружения PHP_HISTFILE.
  
  
   Модуль CLI SAPI поддерживает две новые настройки в файле php.ini:
   cli.pager и cli.prompt.
   Директива cli.pager разрешает использовать
   внешнюю программу наподобие less
   для постраничного просмотра, а не прямого вывода данных на экран.
   Настройка cli.prompt разрешает задавать
   приглашение php > на ввод команды.
  
  
   В интерактивной консоли также разрешается устанавливать настройки
   файла php.ini через специальное сокращение.
  
  
   Пример #3 Установка настройки файла php.ini в интерактивной консоли
   
   
php > #cli.prompt=hello world :>
hello world :>
 
   
    Обратными кавычками задают PHP-код, который
    выполнится в приглашении на ввод команды:
   
php > #cli.prompt=`echo date('H:i:s');` php >
15:49:35 php > echo 'hi';
hi
15:49:43 php > sleep(2);
15:49:45 php >
 
   
    Установка less для постраничного вывода данных:
   
php > #cli.pager=less
php > phpinfo();
(output displayed in less)
php >
 
   
  
   Настройка cli.prompt поддерживает
   несколько управляющих последовательностей:
   
    Управляющие последовательности cli.prompt
    
     
      
       | Управляющая последовательность | Описание | 
     
     
      
       | \e | Используется для добавления цветов в приглашение на ввод команды.
        Пример: \e[032m\v \e[031m\b \e[34m\> \e[0m | 
      
       | \v | Версия PHP. | 
      
       | \b | Отображает в какой части PHP мы находимся. Для примера /*показывает, что мы находимся в многострочном комментарии. Внешняя область
        видимости обозначается какphp. | 
      
       | \> | Указывает символ приглашения. По умолчанию это символ >,
        но можно изменить, когда оболочка находится внутри незакрытого блока или строки.
        Возможные символы:' " { ( > | 
     
    
   
  
  Замечание: 
   
    Файлы, подключённые с помощью опций
    auto_prepend_file и
    auto_append_file
    обрабатываются в этом режиме с некоторыми ограничениями,
    например, функции должны быть объявлены до их использования.
   
  
  
   Интерактивный режим
   
    До PHP 8.1.0 при недоступности модуля readline вызов файла CLI SAPI
    с параметром -a запускал интерактивный режим.
    В этом режиме предполагается, что PHP-скрипт передадут целиком через стандартный
    входной поток STDIN, затем завершат ввод комбинацией клавиш
    
     CTRL
     +D
    
    (в POSIX-системах) или комбинацией
    
     CTRL
     +Z
    ,
    за которой идёт клавиша ENTER (в ОС Windows), после чего скрипт обработается.
    По сути это то же самое, что и вызов CLI SAPI без параметра -a.
    option.
   
   
    Начиная с PHP 8.1.0 при недоступности модуля readline вызов CLI SAPI
    с параметром -a завершается ошибкой.