+2

Como rodar um programa sem ter uma conexao aberta.

criado por Thamer Mazzuca Martins em 23/02/2010 4:35am
Olá, acho que o titulo não foi muito claro, tenho nocao basica sobre php, mas oque eu entendo é que o script php so é rodado enquanto estiver a conexao entre o servidor e o usuario (me corrija se estiver errado), então como exemplo gostaria de pensar em uma seguinte oportunidade.

Um codigo que de 3 em 3 minutos verificasse uma tal database e fizesse um processo.

Gente, lembre-se que eu nao quero codigos, somente quero informacoes doque utilizar para isso.

Muito obrigado

Lista de Respostas:

+2
23/02/2010 7:01pm
(~6 anos atrás)
Thamer, neste caso, ao invés de invocar o script pelo navegador, o script seria invocado por algum programa de agendamento de tarefas. Ele seria executado no terminal de comandos e, a princípio, o resultado não seria mostrado para ninguém na Web.

No Linux, por exemplo, eu uso o "cron". Para agendar alguma coisa no cron, você executa o comando:
$ crontab -e

E edita o arquivo com uma sintaxe própria. Veja o link:
http://en.wikipedia.org/wiki/Cron

Por exemplo, para executar o script localizado em "/home/thamer/a.php" a cada 3 minutos você faria assim:
*/3 * * * * /home/thamer/a.php

Lembre-se que o script será executado pelo usuário que criou o agendamento e não necessariamente o usuário do Apache, por exemplo, que normalmente é usado para executar o script requisitado pelo servidor Web.

+1
25/02/2010 4:39pm
(~6 anos atrás)
Marcos Regis respondeu:
Se for algo que tem que ficar na web, como por exemplo um chat, pode-se usar requisições assíncronas para atualizar o conteúdo. Isso é feito usando Ajax.

Não existe forma de manter um canal aberto em PHP mesmo usando linha de comando. O canal somente estará aberto enquanto o script estiver rodando.

0
15/05/2010 7:33pm
(~6 anos atrás)
Cyllas Elia respondeu:
Acredito que não seja este o caso, mas o php trabalha com Sockets sim ..

http://php.net/manual/en/ref.sockets.php

[]'s

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)