-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"
$ 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
.
Этот переключитель необязателен и может быть убран. Достаточно
передавать только имя запускаемого файла.
Замечание:
Для передачи аргументов в скрипт, первый аргумент должен быть
--, иначе PHP воспримет их как свои опции.
|
-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>" вместе с
внутренними сообщениями парсера и код возврата будет равен -1.
Проверка исходного кода при помощи данной опции не находит
фатальных ошибок (например, таких как вызов неопределенных
функций). Используйте опцию -f
, если вы
хотите проверить код на наличие фатальных ошибок.
Замечание:
Эта опция несовместима с опцией -r
.
|
-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 и ?>)
не нужны и, более того,
приводят к синтаксической ошибке.
Замечание:
При использовании этого ключа следует быть очень осторожным и избегать
недоразумений, связанных с автоматической подстановкой переменных окружения.
Пример #2 Ошибка синтаксиса при использовании двойных кавычек
$ 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
Проблема заключается в том, что sh/bash выполняет автоматическую
подстановку переменных в случае, если используются двойные кавычки
("). Поскольку переменная $foo
вряд ли определена, она заменяется пустой строкой, так что
передаваемый PHP-код для выполнения выглядит следующим
образом:
Правильным решением в данном случае будет использование
одиночных кавычек ', поскольку автоматическая
подстановка переменных, заключенных в одиночные кавычки, в sh/bash не происходит.
Пример #3 Использование одинарных кавычек для предотвращения
подстановки переменных в консоли
$ 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"]=>
[...]
При использувании оболочки, отличной от sh/bash, могут возникнуть
другие вопросы. В таком случае необходимо создайть отчет о возникшей ошибке на сайте
» http://bugs.php.net/.
Можно столкнуться с проблемами при попытке получить доступ
к переменным оболочки или при работе с экранирующими обратными слэшами.
Теперь вы предупреждены!.
Замечание:
Ключ -r
доступен в CLI SAPI, но недоступен
в CGI SAPI.
Замечание:
Эта опция предназначена только для самых базовых вещей.
Поэтому некоторые конфигурационные директивы (например, auto_prepend_file
и auto_append_file)
в этом режиме будут проигнорированы.
|
-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-заголовков.
Замечание:
Эта опция несовместима с опцией -r
.
|
-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 |
Показать исходнный код без комментариев и пробелов.
Замечание:
Эта опция несовместима с опцией -r
.
|
-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 ] {
}
}
}
|
--rz |
--rzendextension |
Показывает информацию о конфигурации указанного Zend-расширения
(та же информация, что показывается функцией phpinfo()).
Доступно начиная с PHP 5.4.0.
|
--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
|