Command line options

A lista de opções de linha de comando fornecidas pelo binario do PHP pode ser requisitada a qualquer momento bastando para isso rodar o PHP com a opção -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               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --rz <name>      Show information about Zend extension <name>.
  --ri <name>      Show configuration for extension <name>.

Opções de linha de comando
Opção Opção Extendida Descrição
-a --interactive

Rode o PHP interativamente. Para mais informações veja a seção Interactive shell.

-b --bindpath

Vincule o Path para o modo externo do servidor FASTCGI (apenas em CGI).

-C --no-chdir

Não execute chdir para o diretório do script (apenas em CGI).

-q --no-header

Modo silencioso. Supressão dos cabeçalhos HTTP na saida (apenas em CGI).

-T --timing

Calcule o tempo de execução do script repetido count vezes (apenas em CGI).

-c --php-ini

Especifica um diretório no qual procurar pelo php.ini, ou um arquivo INI personalizado (que não precisa se chamar php.ini), exemplo:

$ php -c /custom/directory/ my_script.php

$ php -c /custom/directory/custom-file.ini my_script.php

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]
 

# Omitting the value part will set the given configuration directive to "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Passing an empty value part will set the configuration directive to ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# The configuration directive will be set to anything passed after the '=' character
$  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 mode de informação extendido, para ser usado por um debugger/profiler.

-f --file

Leia e execute o arquivo especificado. A opção -f é opcional e pode ser omitida - fornecer somente o nomde do arquivo a ser executado é suficiente.

Nota:

Para passar argumentos para um script, o primeiro argumento deve ser --, do contrário o PHP irá interpreta-los como opções do PHP.

-h and -? --help and --usage Exibe uma lista de opções de linha de comando com uma linha de descrição do seu funcionamento.
-i --info Invoca phpinfo(), e imprime 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 saida 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 saida 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 testar os erros fatais também.

Nota:

Essa opção não funciona em conjunto com a opções -r .

-m --modules

Exemplo #1 Retorna os modulos PHP e Zend imbutidos 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 incluidas.

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 aquie é que o sh/bash realiza substituições de variáveis mesmo quando usando aspas duplas ". já que a variável $foo provavelmnete não está definida, ocorrerá uma susbtituição para nada, o que resulta no códdigo sendo passado para a execução PHP sendo realmente:

$ php -r " = get_defined_constants();"

A maneira correta é usar aspas simples '. Variáveis em strings de aspas simples não são substituidas pelo sh/bash.

Exemplo #3 Usar aspas simples previce 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 » http://bugs.php.net/. 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. Você foi avisado!

Nota:

-r está disponível no CLI SAPI, mas não no CGI SAPI.

Nota:

Essa opção e normalmente utilizada comcódigo muito básico, portanto algumas diretivas de congurção (como auto_prepend_file e auto_append_file) são ignoradas nesse modo.

-B --process-begin

O código PHP ececutado antes do processamento do stdin. Inlcuido no PHP 5.

-R --process-code

Código PHP para ser executado a cada linha de entrada. Incluido PHP 5.

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 numero da linha.

-F --process-file

Arquivo PHP para ser executado a cada linha de entrada. Incluido no PHP 5.

-E --process-end

Codigo PHP para ser executado após o processamento da entrada. Incluído no PHP 5.

Exemplo #4 Usando as oções -B , -R e -E para contar o numero 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 imbutido do PHP. Disponível a partir da versão 5.4.0 do PHP.

-t --docroot Específica a raiz do documento para o servidor imbutido do PHP. Disponível a partir da versão 5.4.0 do PHP.
-s --syntax-highlight and --syntax-highlighting

Exibe a coloração de sintaxe de código.

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 Usando -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 essas extensão a partir do diretório padrão de extensões do seu sistema, (geralmente /etc/ld.so.conf em sistemas linux, por exmeplo). Ao passar o nome do arquivo juntamente com seu caminho absoluto não ira usar o diretório padrão de extensões. Um caminho relativo incluindo informações de diretórios ira dizer ao PHP para tentar carregar a extensão relativamente ao diretório atual.

  --ini

Exibr nomes de arquivos de configuração e diretórios verificados. Disponível a partir do PHP 5.2.3.

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 metodo de objeto informado (como por exemplo o número e nome dos parametros). Disponível a partir do PHP 5.1.2.

Essa opção só está disponível se o PHP for compilado com suporte a Reflecçã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 metodos). Disponível a partir do PHP 5.1.2.

Essa opção só está disponível se o PHP for compilado com suporte a Reflecçã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

ShowExibe informações sobre uma determinada extensão (lista de opções do php.ini, funcões definidas, constantes e calsses. Disponível a partir do PHP 5.1.2..

Essa opção só está disponível se o PHP for compilado com suporte a Reflecçã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()). Disponível a partir do PHP 5.4.

--ri --rextinfo

Exibe as informações de configuração de uma determinada extensão (as mesmas informações retornadas pela phpinfo()). Disponível a partir do PHP 5.2.2. As informações de configurações do núcleo da lingaugem 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

Nota:

Options -rBRFEH, --ini and --r[fcezi] are available only in CLI.

add a note add a note

User Contributed Notes 1 note

up
1
Ap.Muthu
3 months ago
If we start the php's built in webserver (PHP v5.4 onwards) with:
        php -S localhost:8000 -t htdocs
and have an image file picture.jpg in it
and reference it in a html page with:
         <img src="picture.jpg">
the rendered page will not show the image and the html code behind the image is:
        http://localhost:8000/index.php/picture.jpg

If however, the html code in the page is:
         <img src="/picture.jpg">
the picture displays correctly.

Hence relative addressing is broken in PHP 5.4.33 Win32 VC9 build.
To Top