Список опций, доступный при запуске PHP из командной строки, может быть получен в любой момент путем запуска PHP с ключом -h :
Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
php [options] -- [args...]
php [options] -a
-a Интерактивный запуск
-c <path>|<file> Ищет файл php.ini в указанной директории
-n Не использовать файл php.ini
-d foo[=bar] Установить конфигурационную опцию foo значением 'bar'
-e Генерация дополнительной информации для отладчика и профайлера
-f <file> Парсит и исполняет <file>
-h Текущая справка
-i Выводит информацию о PHP
-l Проверка синтаксиса (lint)
-m Показать скомпилированные модули
-r <code> Запустить PHP-код без использования <?..?>
-B <begin_code> Запустить PHP <begin_code> до обработки введенного кода
-R <code> Запустить PHP <code> для каждой введенной строки
-F <file> Парсить и выполнять <file> для каждой введенной строки
-E <end_code> Запустить PHP <end_code> после обработки всех введенных строк
-H Спрятать все переданные аргументы от внешних инструментов
-s Отображает исходный код с цветной подсветкой
-v Выводит информацию о версии PHP
-w Отображает исходный текст без комментариев и пробелов
-z <file> Загрузить Zend-расширение <file>.
args... Аргументы, передаваемые скрипту. Используйте -- args в случае, если
первый аргумент начинается с '-' или сам скрипт читается из потока STDIN.
--ini Показывать имена конфигурационных файлов
--rf <name> Показать информацию о функции <name>.
--rc <name> Показать информацию о классе <name>.
--re <name> Показать информацию о расширении <name>.
--ri <name> Показать конфигурацию для расширения <name>.
| Опция | Полное название | Описание |
|---|---|---|
| -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 -c /custom/directory/ my_script.php $ php -c /custom/directory/custom-file.ini my_script.php Если вы не укажете эту опцию, поиск файла будет осуществлен в обычном месте. |
| -n | --no-php-ini |
Полностью игнорировать php.ini. |
| -d | --define |
Эта опция позволяет устанавливать специальное значение для каждой из конфигурационных переменных, доступных в php.ini. Синтаксис выглядит следующим образом: -d configuration_directive[=value]
# Если значение опущено, то соответствующей опции будет присвоено значение "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>", - и код возврата будет равен 0. А в случае неудачи - текст "Errors parsing <filename>" вместе с внутренними сообщениями парсера и код возврата будет равен 255. Проверка исходного кода при помощи данной опции не находит фатальных ошибок (например, таких как вызов неопределенных функций). Используйте опцию -f , если вы хотите проверить код на наличие фатальных ошибок.
|
| -m | --modules |
Пример #1 Вывод встроенных (и загружаемых) PHP и Zend модулей $ php -m [PHP Modules] xml tokenizer standard session posix pcre overload mysql mbstring ctype [Zend Modules] |
| -r | --run |
Эта опция позволяет выполнять PHP-код, указанный непосредственно в командной строке. Открывающие и закрывающие PHP-теги (<?php и ?>) не нужны и, более того, приводят к синтаксической ошибке.
|
| -B | --process-begin |
Выполняемый PHP-код до обработки потока ввода (stdin). Добавлена в PHP 5. |
| -R | --process-code |
PHP-код, выполняемый для каждой введенной строки. Добавлена в PHP 5. В этом режиме есть две специальные переменные: $argn и $argi. $argn содержит строку, которую PHP обрабатывает в данный момент, а $argi содержит номер этой строки. |
| -F | --process-file |
PHP-файл, выполняемый для каждой введенной строки. Добавлена в PHP 5. |
| -E | --process-end |
PHP-код, выполняемый после обработки ввода. Добавлена в PHP 5. Пример #4 Использование опций -B , -R и -E для подсчета количества строк в проекте. $ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";' Total Lines: 37328 |
| -s | --syntax-highlight и --syntax-highlighting |
Показать исходный код с подсвеченным разными цветами синтаксисом. Эта опция использует внутренний механизм парсинга файла и выводит в стандартный поток вывода подсвеченную HTML-версию этого файла. Учтите, что все что она делает, это генерирует блок <code> [...] </code> HTML-тегов, без HTML-заголовков.
|
| -v | --version |
Пример #5 Использование -v для получения типа SAPI и версии PHP и Zend $ 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 |
Показать исходнный код без комментариев и пробелов.
|
| -z | --zend-extension |
Загружает Zend-расширение. Если передано только имя файла, PHP попытается загрузить это расширение из вашего системного пути поиска библиотек по умолчанию (обычно он указывается в /etc/ld.so.conf в Linux системах). Передача файла с абсолютным путем не будет использовать данный системный путь поиска. Относительное имя файла, содержащее директорию, укажет PHP подгрузить расширение относительно текущей директории. |
| --ini |
Показывает имена конфигурационных файлов и сканируемые директории. Доступна, начиная с версии PHP 5.2.3. Пример #6 Пример --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 5.1.2. Эта опция доступна только в случае если PHP был скомплирован с поддержкой Reflection.
Пример #7 Базовое использование --rf $ php --rf var_dump
Function [ <internal> public function var_dump ] {
- Parameters [2] {
Parameter #0 [ <required> $var ]
Parameter #1 [ <optional> $... ]
}
}
|
| --rc | --rclass |
Показывает информацию об указанном классе (список констант, свойств и методов). Доступна, начиная с PHP 5.1.2. Эта опция доступна только в случае если PHP был скомплирован с поддержкой Reflection.
Пример #8 Пример --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 5.1.2. Эта опция доступна только в случае если PHP был скомплирован с поддержкой Reflection.
Пример #9 Пример --re $ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {
- Functions {
Function [ <internal> function json_encode ] {
}
Function [ <internal> function json_decode ] {
}
}
}
|
| --ri | --rextinfo |
Показывает информацию о конфигурации указанного расширения (та же информация, что показывается функцией phpinfo()). Доступна, начиная с версии PHP 5.2.2. Конфигурацию ядра можно узнать, указав в качестве имени расширения значение "main".
Пример #10 Пример --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 |
Замечание:
Опции -rBRFEH, --ini и --r[fcei] доступны только в CLI.