-a |
--interactive |
Executa o PHP interativamente. Para mais informações veja a seção Shell interativo.
|
-b |
--bindpath |
Vincula o Path para o modo externo do servidor FASTCGI (apenas em
CGI).
|
-C |
--no-chdir |
Não executa chdir para o diretório do script (apenas em CGI).
|
-q |
--no-header |
Modo silencioso. Suprime os cabeçalhos HTTP na saída
(apenas em CGI).
|
-T |
--timing |
Calcula o tempo de execução do script repetidas count
de vezes (apenas em CGI).
|
-c |
--php-ini |
Especifica um diretório para procurar pelo
php.ini, ou um arquivo INI personalizado
(que não precisa se chamar php.ini), exemplo:
Se essa opção não for especificada, o php.ini será procurado no
local padrão.
|
-n |
--no-php-ini |
Ignore o php.ini completamente.
|
-d |
--define |
Defina um valor personalizado para qualquer uma das diretivas de
configuração permitidas em arquivos php.ini. A sintaxe é:
-d configuration_directive[=value]
# Omitir o valor irá configurar a diretiva para "1"
$ php -d max_execution_time
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"
# Passar um valor vazio irá configurar a detiva para ""
php -d max_execution_time=
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""
# A diretiva de configudação será configurada para tudo o que estiver depois do sinal de '='
$ 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 |
Ativa o modo de informação estendido, para ser usado por um
debugger/profiler.
|
-f |
--file |
Lê e executa o arquivo especificado. A opção
-f é opcional e pode ser omitida - fornecer somente
o nome do arquivo a ser executado é suficiente.
|
-h and -? |
--help e --usage |
Exibe uma lista de
opções de linha de comando com a descrição do seu funcionamento.
|
-i |
--info |
Invoca phpinfo(), e exibe o resultado.
Caso o PHP não esteja executando corretamente, é aconselhável usar o comando
php -i e verificar se alguma mensagem de erro
é informada antes ou no lugar da tabela de informações.
Esteja ciente de que ao usar o modo CGI a saída será em
HTML e portanto bastante longa.
|
-l |
--syntax-check |
Fornece uma forma conveniente de realizar uma verificação da sintaxe
no código PHP informado. Em caso de sucesso, o texto
No syntax errors detected in <filename> é
disparado para a saída padrão da linha de comando e o código de retorno é
0 . Em caso de falha, o texto Errors parsing
<filename> assim como as mensagens adicionais de erros
são retornados para a saída padrão do terminal e o código retornado é
-1 .
Isso não irá encontrar error fatais (como funções não definidas). Use a
opção -f para também testar os erros fatais.
Nota:
Essa opção não funciona em conjunto com a opção -r.
|
-m |
--modules |
Exemplo #1 Retorna os módulos PHP e Zend embutidos e carregados
$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype
[Zend Modules]
|
-r |
--run |
Habilita a execução do código PHP incluído diretamente na linha de comando.
As tags de abertura e fechamento do PHP (<?php e
?> ) não são
necessárias e irão causar um erro de leitura caso sejam incluídas.
Nota:
Muito cuidado precisa ser tomado ao usar essa forma para que o PHP não colida
com a substituição de variáveis de linha de comando realizadas pelo seu
ambiente de linha de comando.
Exemplo #2 Recebendo um erro de sintaxe ao usar aspas duplas
$ 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
O problema aqui é que o sh/bash realiza substituições de variáveis
mesmo usando aspas duplas " . já que
a variável $foo provavelmente não está definida,
ocorrerá uma substituição para nada, que resulta no seguinte código
passado para o PHP executar:
A maneira correta é usar aspas simples ' .
Variáveis em strings de aspas simples não são substituídas
pelo sh/bash.
Exemplo #3 Usar aspas simples previne a substituição de variáveis pelo
ambiente de linha de comando
$ 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"]=>
[...]
Se estiver usando um ambiente de linha de comando que não seja sh/bash,
outros problemas podem ser encontrados - caso necessário, um aviso de bug
pode ser aberto em » https://github.com/php/php-src/issues.
Ainda assim é muito fácil encontrar problemas ao tentar usar variáveis
(de linha de comando ou PHP) em código de linha de comando, ou usando barra
invertida para escapar, por isso tenha muito cuidado quando fizer isso. Você foi avisado!
Nota:
-r está disponível no CLI SAPI, mas não no
CGI SAPI.
Nota:
Essa opção é normalmente utilizada com código muito básico, portanto
algumas diretivas de configuração (como auto_prepend_file e auto_append_file) são ignoradas
nesse modo.
|
-B |
--process-begin |
O código PHP executado antes do processamento do stdin.
|
-R |
--process-code |
Código PHP para ser executado a cada linha de entrada.
Existem duas variáveis especiais disponíveis nesse modo:
$argn e $argi.
$argn conterá a linha que está sendo processada pelo PHP
no momento, enquanto $argi irá conter o número
da linha.
|
-F |
--process-file |
Arquivo PHP para ser executado a cada linha de entrada.
|
-E |
--process-end |
Código PHP para ser executado após o processamento da entrada.
Exemplo #4 Usando as opções -B, -R e
-E para contar o número de linhas de um
projeto.
$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328
|
-S |
--server |
Inicia o servidor embutido
do PHP.
|
-t |
--docroot |
Específica a raiz do documento para o servidor embutido do PHP.
|
-s |
--syntax-highlight and --syntax-highlighting |
Destaca a sintaxe de código (syntax-highlighting).
Essa opção usa os mecanismos internos para interpretar os arquivos e escrever
uma versão HTML colorida do código para a saída padrão. Repare que tudo que
ele faz é gerar um bloco de tags HTML
<code> [...] </code> ,
sem os cabeçalhos HTML.
Nota:
Essa opção não funciona em conjunto com a opção -r.
|
-v |
--version |
Exemplo #5 Use -v para requisitar o nome SAPI
e a versão do PHP e Zend Engine
$ 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 |
Exibe o código com comentários e espaços em branco removidos.
Nota:
Essa opção não funciona em conjunto com a opção -r.
|
-z |
--zend-extension |
Carrega uma extensão Zend. Se somente um nome de arquivo for fornecido,
O PHP irá tentar carregar essa extensão a partir do diretório padrão
de extensões do seu sistema, (geralmente /etc/ld.so.conf
em sistemas linux, por exemplo). Ao passar o nome do arquivo juntamente com
seu caminho absoluto não usará o diretório padrão de extensões.
Um caminho relativo incluindo informações de diretórios dirá ao PHP
para tentar carregar a extensão relativamente ao diretório atual.
|
|
--ini |
Exibir nomes de arquivos de configuração e diretórios verificados.
Exemplo #6 --ini exemplo
$ 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 |
Exibe informações sobre a função ou método de objeto informado (como por exemplo
o número e nome dos parâmetros).
Essa opção só está disponível se o PHP for compilado com
suporte a Reflexão.
Exemplo #7 uso básico da opção --rf
$ php --rf var_dump
Function [ <internal> public function var_dump ] {
- Parameters [2] {
Parameter #0 [ <required> $var ]
Parameter #1 [ <optional> $... ]
}
}
|
--rc |
--rclass |
Exibe informações sobre uma determinada classe (lista de constantes, propriedades
e métodos).
Essa opção só está disponível se o PHP for compilado com
suporte a Reflexão.
Exemplo #8 exemplo de --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 |
Exibe informações sobre uma determinada extensão (lista de opções do php.ini,
funções definidas, constantes e classes.
Essa opção só está disponível se o PHP for compilado com
suporte a Reflexão.
Exemplo #9 Exemplo de --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 |
Exibe as informações de configuração de uma determinada extensão Zend
(a mesma informação retornada pela phpinfo()).
|
--ri |
--rextinfo |
Exibe as informações de configuração de uma determinada extensão
(as mesmas informações retornadas pela phpinfo()).
As informações de configurações do núcleo
da linguagem estão disponíveis usando "main" como nome da extensão.
Exemplo #10 exemplo de --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
|