Como faço para executar scripts PHP via CMD sem digitar "php"?

1

Se eu tenho um arquivo de lote chamado "program.bat" ... e eu estou na linha de comando ... eu posso digitar program para obter o programa para ser executado.

Se estou na linha de comando, como obtenho program.php para executar automaticamente da mesma forma, em vez de ter que entrar php program.php?

Digamos que eu tenha o PHP instalado C:\programs\PHP e C:\Programs\Scripts anexado a PATH. O que precisa ser feito para poder criar C:\Programs\Scripts\hw.php com o conteúdo

<?php Echo "Hello World!"; ?>

e tê-lo de modo que na linha de comando eu digite hw?

Windows XP Pro, SP2
PHP 5.3.8

WernerCD
fonte

Respostas:

1

Você pode criar uma associação de arquivo para .php. Veja a documentação para assoc e ftype Isso deve levá-lo para onde digitar program.php faz com que o php.exe seja invocado e passe pelo program.php.

Para eliminar a necessidade de digitar o sufixo '.php', suspeito que você precise informar ao Windows que .php é uma extensão executável. Vejo No Windows, que extensões de nome de arquivo denotam um executável? re a variável de ambiente PATHEXT. Eu não tentei isso sozinho.

RedGrittyBrick
fonte
php.net/manual/en/install.windows.commandline.php Assoc e FType me fizeram procurar a coisa certa.
WernerCD
1

Que tal criar um hw.bate colocar php hw.php nisso? Então você pode simplesmente executar "hw".

Ƭᴇcʜιᴇ007
fonte
Eu estou tentando ser preguiçoso ... A última coisa que eu quero fazer é configurar dois scripts para cada tarefa que eu quero fazer. Trabalho? Sim ... mas definitivamente não é o ideal.
WernerCD
0

Digite "assoc .php = PHP_program_file" no prompt de comando. Adicione também .PHP; para o início da variável ambiental PATHEXT que está em Sistema no Painel de Controle, Avançado, Variáveis ​​Ambientais. Adicione também algo como "C: \ php;" para o início da variável ambiental PATH, assim você também pode digitar "php hw.php", além de "hw.php" ou "hw".

Em seguida, faça o seguinte no editor de registro:

Digite C: \ php \ php.exe "% 1"% * em HKEY_CLASS_ROOT: PHP_program_file: shell: Executar Programa PHP: comando (Cada dois pontos significa colocar uma chave de registro dentro da primeira chave de registro. Captura de tela incluída.)

Captura de tela do editor de registro

Eric Klien
fonte