| -a | --interactive | 
         Запустить PHP в интерактивном режиме. Дополнительную информацию
         даёт раздел «Интерактивная консоль».
         | 
      
       | -b | --bindpath | 
         Путь связывания библиотек (Bind Path) для внешнего режима FASTCGI Server
         (параметр работает только в CGI-версии).
         | 
      
       | -C | --no-chdir | 
         Не менять текущую директорию на директорию скрипта
         (параметр работает только в CGI-версии).
         | 
      
       | -q | --no-header | 
         Тихий режим. Подавляет вывод заголовков HTTP
         (параметр работает только в CGI-версии).
         | 
      
       | -T | --timing | 
         Измерить время выполнения скрипта, повторенного count
         раз (параметр работает только в CGI-версии).
         | 
      
       | -c | --php-ini | 
         Указывает, либо директорию, в которой нужно искать
         конфигурационный файл php.ini, либо пользовательский
         INI-файл (название которого может
         отличаться от стандартного php.ini), например: 
         Если эта опция не указана, поиск php.ini будет осуществлён
         в местах по умолчанию.
         | 
      
       | -n | --no-php-ini | 
         Полностью игнорировать php.ini.
         | 
      
       | -d | --define | 
         Устанавливает пользовательское значение для каждой из
         конфигурационных опций, доступных в php.ini. Синтаксис выглядит следующим образом:
          
 -d configuration_directive[=value]
 
         Пример #1 Пример команды с параметром -dдля установки INI-настройки 
# Если значение опустили, соответствующей опции присвоится значение "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"
# Указание пустого значения установит соответствующую опцию значением ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""
# Конфигурационная переменная будет установлена любым значением, указанным после символа '='
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"
 | 
      
       | -e | --profile-info | 
         Включить режим расширенной информации, используемый
         отладчиком/профайлером.
         | 
      
       | -f | --file | 
         Парсит и исполняет файл, указанный в опции -f.
         Этот параметр необязателен и может быть опущен — достаточно
         просто указать имя запускаемого файла.
         | 
      
       | -h и -? | --help и --usage | Выводит список опций командной строки с однострочным описанием того, что они делают. | 
      
       | -i | --info | Вызывает функцию phpinfo() и выводит результат работы функции.
        При некорректной работе PHP рекомендуют выполнить команду php -i
        и посмотреть, выводятся ли сообщения об ошибках до или вместо информационных таблиц.
        При работе CGI-модуля учитывают, что команда выведет данные
        в HTML-формате и поэтому вывод будет большим. | 
      
       | -l | --syntax-check | 
         Проверяет синтаксис, но не выполняет PHP-код.
         Обработаются входные данные стандартного входного потока, если название файла не указали,
         иначе проверится каждое название файла.
         В случае успешного выполнения в стадартный поток вывода
         записывается текст
         No syntax errors detected in <filename>.
         Вместе с внутренней информацией об ошибке парсера
         в станадртный поток вывода записывается текстErrors parsing <filename>,
         если возникла ошибка.
         Опция присвоит коду возврата командной оболочки значение-1,
         если в заданных файлах или данных стандартного потока ввода возникли ошибки,
         иначе опция присвоит коду возврата командной оболочки значение0. 
         Опция не обнаружит фатальные ошибки в коде, который требует выполнения,
         наподобие вызова функций, которые не объявили.
         Замечание: 
          
          До PHP 8.3.0 для проверки разрешалось указывать только одно название файла.
         
 Замечание: 
          
          Опция не работает с опцией -r.
         
 | 
      
       | -m | --modules | 
         Пример #2 Вывод списка PHP- и Zend-модулей ядра, которые загрузили 
$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype
[Zend Modules]
 | 
      
       | -r | --run | 
         Разрешает выполнять PHP-код, который указали
         в командной строке. Открывающие и закрывающие
         PHP-теги (<?phpи?>)
         не нужны
         и вызовут синтаксическую ошибку. Замечание: 
          
          С этим ключом работают очень осторожно и избегают
          недоразумений, которые связаны с автоматической подстановкой переменных окружения.
          
          Пример #3 Ошибка синтаксиса при двойных кавычках 
$ php -r "$foo = get_defined_constants();"
PHP Parse error:  syntax error, unexpected '=' in Command line code on line 1
Parse error: syntax error, unexpected '=' in Command line code on line 1
 
          Проблема здесь заключается в том, что командная оболочка bash выполняет автоматическую
          подстановку переменных в sh-командах, если указали двойные кавычки
          ". Поскольку маловероятно, что переменную $foo
          определили, переменная заменяется пустой строкой, что изменяет
          PHP-код, который передали для выполнения, вот так: 
          Правильное решение в таких ситуациях состоит в указании
          одинарных кавычек ', поскольку автоматическая подстановка
          переменных, которые обернули в одинарные кавычки, в sh-командах оболочки bash не происходит. 
          Пример #4 Одинарные кавычки, которые предотвращают
           подстановку переменных в консоли 
$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]
 
          В оболочках, которые отличаются от оболочки bash и которые запускают sh-команды,
          иногда возникают другие проблемы. Тогда требуется создать отчёт о ошибке, которая возникла, на сайте
          » https://github.com/php/php-src/issues.
          С проблемами иногда сталкиваются при попытке получить доступ
          к переменным оболочки или при работе с экранирующими обратными слешами.
          Теперь вы предупреждены!
         
 Замечание: 
          
          Ключ -r доступен в CLI SAPI, но недоступен
          в CGI-интерфейсе к интерфейсу SAPI.
         
 Замечание: 
          
          Опция предназначена только для самого простого кода.
          Поэтому некоторые конфигурационные директивы наподобие
          auto_prepend_file
          и auto_append_file
          в этом режиме проигнорируются.
         
 | 
      
       | -B | --process-begin | 
         PHP-код, который требуется выполнить перед обработкой стандартного потока ввода stdin.
         | 
      
       | -R | --process-code | 
         PHP-код, который требуется выполнить для каждой строки ввода.
         
         В этом режиме предусмотрели две специальные переменные:
         $argn и $argi.
         Переменная $argn содержит строку, которую PHP
         обрабатывает в текущий момент, а переменная $argi
         содержит номер этой строки.
         | 
      
       | -F | --process-file | 
         PHP-файл, который требуется выполнить для каждой строки ввода.
         | 
      
       | -E | --process-end | 
         PHP-код, который требуется выполнить после обработки ввода.
         
         Пример #5 
          Подсчёт количества строк в проекте
          опцииями -B, -R и -E
          
$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Всего строк: $l\n";'
Всего строк: 37328
 | 
      
       | -S | --server | 
         Запускает встроенный веб-сервер.
         | 
      
       | -t | --docroot | Указывает корень документа
        для встроенного веб-сервера. | 
      
       | -s | --syntax-highlight и --syntax-highlighting | 
         Показывает исходный код с подсветкой синтаксиса.
         
         Эта опция использует внутренний механизм для разбора файла
         и записи в стандартный поток вывода подсвеченной версии
         этого файла. Учтите, что опция только генерирует
         блок <code> [...] </code>HTML-тегов, без HTML-заголовков. Замечание: 
          
          Опция несовместима с опцией -r.
         
 | 
      
       | -v | --version | 
         Пример #6 
          Получение информации о названия SAPI,
          PHP- и Zend-версии через опцию -v
          
$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
 | 
      
       | -w | --strip | 
         Показывает исходный код без комментариев и пробелов.
         Замечание: 
          
          Опция несовместима с опцией -r.
         
 | 
      
       | -z | --zend-extension | 
         Загружает модуль Zend. PHP попытается загрузить модуль из текущего пути библиотеки
         по умолчанию в системе, который в Linux-системах обычно указывают
         в файле /etc/ld.so.conf, если передали только название файла.
         Передача файла с абсолютным путём не будет использовать
         системный путь поиска библиотеки. Относительное имя файла, которое содержит
         директорию, заставит PHP загрузить модуль относительно
         текущей директории.
         | 
      
       |  | --ini | 
         Показывает имена файлов конфигурации и просканированные каталоги.
          
          Пример #7 Пример --ini 
$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none) | 
      
       | --rf | --rfunction | 
         Показывает информацию о функции или методе
         класса (например, количество и названия параметров).
         
         Опция доступна, только если PHP скомпилировали
         с поддержкой интерфейса Reflection.
         
          
          Пример #8 Пример базового поведения опции --rf 
$ php --rf var_dump
Function [ <internal> public function var_dump ] {
  - Parameters [2] {
    Parameter #0 [ <required> $var ]
    Parameter #1 [ <optional> $... ]
  }
} | 
      
       | --rc | --rclass | 
         Показывает информацию об классе; выводит
         список констант, свойств и методов.
         
         Опция доступна, только если PHP скомпилировали
         с поддержкой интерфейса Reflection.
         
          
          Пример #9 Пример вывода опции --rc 
$ php --rc Directory
Class [ <internal:standard> class Directory ] {
  - Constants [0] {
  }
  - Static properties [0] {
  }
  - Static methods [0] {
  }
  - Properties [0] {
  }
  - Methods [3] {
    Method [ <internal> public method close ] {
    }
    Method [ <internal> public method rewind ] {
    }
    Method [ <internal> public method read ] {
    }
  }
} | 
      
       | --re | --rextension | 
         Показывает информацию о модуле; выводит
         список опций файла php.ini, функций, которые объявили, констант
         и классов.
         
         Опция доступна, только если PHP скомпилировали
         с поддержкой интерфейса Reflection.
         
          
          Пример #10 Пример вывода опции --re 
$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {
  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
} | 
      
       | --rz | --rzendextension | 
         Показывает информацию о конфигурации Zend-модуля —
         та же информация, которая возвращается функцией phpinfo().
         | 
      
       | --ri | --rextinfo | 
         Показывает информацию о конфигурации указанного модуля
         (та же информация, которая возвращается phpinfo()).
         Конфигурацию ядра можно узнать, указав в качестве имени
         модуля значение "main".
         
          
          Пример #11 Пример --ri 
$ php --ri date
date
date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo
Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333 |