PHP no prompt de comando

Esse mês comecei a trabalhar na LBS, empresa resultante da fusão do Apontador com Maplink. Um dos meus primeiros trabalhos era criar um importador de CSV. Algo rotineiro, mas que resolvemos fazer sem utilizar interface web.

Tudo rodaria no shell do linux ou no prompt do DOS no windows.  Vamos ver como isso funciona no Windows?

Passo 1: Pra facilitar o trabalho, localize onde está o seu php.exe e adicione o path do diretório na variavel de ambiente Path do Windows. Para isso clique nas propriedades do meu computador, na guia Avançado, e depois no botão Variáveis de Ambiente. Localize na lista inferior a variavel TEMP e acrescente o path do seu php.exe conforme o padrão que já existe.

Dessa forma não precisaremos ir até o diretório do PHP pra chamá-lo quando precisarmos. Podemos apenas digitar php no prompt de comando e o sistema já entenderá quem estamos procurando.

Passo 2: crie um arquivo qualquer.php que imprima o valor da variável $argv. Esta é uma variável pré-declarada que contém um array com todos os parâmetros que podemos passar via linha de comando. (Tente apenas um <?php var_dump($argv)?>)

Passo 3: pronto. Agora é só executar o arquivo com o comando
php -f c:\caminho\do\qualquer.php -- hello=world foo=bar
Tudo que for passado após -- é entendido como parâmetro. Fique atendo aos espaços para não ter surpresa. O nosso exemplo retornaria algo do tipo:

array(3) {
[0]=>
string(31) “d:\wamp\www\testes\qualquer.php”
[1]=>
string(11) “hello=world”
[2]=>
string(7) “foo=bar”
}

Passo 4: Agora é só tratar os parâmetros (ou seja, o array $argv) e se divertir com os scripts na linha de comando. Além de ser bem mais rápido que executar na web, não é necessário ter o apache (ou o servidor web) sendo executado.

Gostou? Conhece outro jeito de fazer? Comente!

Compartilhe com os amigos
  • Digg
  • StumbleUpon
  • Print
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • email
  • Google Buzz
  • LinkedIn
  • Live
  • MSN Reporter
  • Orkut
  • PDF
  • Reddit
  • Tumblr
Publicidade

4 comentários

  1. Luiz Zamboni disse:

    Claro, direto, e muito didático.
    Já tinha tentado outras vezes, mas não achei nenhuma informação tão clara quanto a sua aqui.
    Explicam que devemos adicionar o caminho do php ao path do windows, mas não explicam pra que (eu programa em php, mas não entendo muito de windos)

  2. Douglas disse:

    No meu windows 7 home basic, fiz como descrito acima, mas não funcionou. Ai coloquei o caminho da instalação do php na variável de ambiente “path” e funcionou. Já na variável “temp” não deu certo.

  3. Guilherme disse:

    Olá, tudo bem? Gostei muito do seu artigo!! Tenho uma dúvida, teria como eu “fazer uma pergunta” pro usuário? Assim como se faz com o scanf no C ou coisa do tipo…

    Obrigado e espero respostas!!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *