PHP Apache XAMPP executa vários scripts da CLI em segundo plano

4

Como posso executar simultaneamente dezenas de scripts PHP em segundo plano a partir da interface de linha de comando do XAMPP?

Alguém sugeriu um arquivo em lote, mas quando tentei executar isso:

start php 1.php
start php 2.php
start php 3.php

Ele só abriu uma janela de prompt de comando; Fechei essa janela, depois mais duas janelas de prompt de comando foram abertas executando 2.php e 3.php.

Eu quero executar quantos scripts quiser, tudo simultaneamente e tudo em segundo plano. Qual é a melhor maneira de conseguir isso e como isso pode ser feito?

EDIT Aqui está como fazer isso:

1) Baixe o PowerShell 2 (ou a versão compatível com sua versão do Windows) aqui: link

2) Instale e reinicie o seu computador.

3) Crie um novo arquivo "example.ps1" e salve-o em um diretório de sua escolha (por exemplo, c: \ examples \ example.ps1). Coloque este código nesse arquivo:

start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}
start-job {.\c:\xampp\php\php C:\xampp\htdocs\phpfiles.php}

4) Clique em "Iniciar" - > "Executar" e digite "powershell" (sem aspas).

5) Após o PowerShell iniciar, digite o seguinte e pressione enter:

Set-ExecutionPolicy RemoteSigned

Em seguida, pressione "y" para definir as alterações.

6) Agora digite (certifique-se de digitar o caminho completo do arquivo):

c:\examples\example.ps1

7) Para ver seus trabalhos, basta digitar:

get-job

Para interromper um trabalho, use este comando:

stop-job JobName
    
por Pamela 30.08.2012 / 16:45

1 resposta

1

Adicione algumas opções depois do seu start :

start /min cmd /c php -f 1.php
...

Isso suprimirá os prompts de comando adicionais.

    
por 30.08.2012 / 17:44