Diogo Besson :: tecnologia

Execução de programa do sistema com PHP

Execução de programa do sistema com PHP

Execução de programa do sistema com PHP te mostra como rodar programas a partir do de um script PHP. Muito útil principalmente pra integrar o sistema operacional com recursos explorados pela página na web.

O PHP me assusta.

Além de ser fácil e prático, também é uma das linguagens de programação mais completas.

Rodou um tópico no grupo de discussão do php que tratava da execução de comandos e programas no servidor através do PHP. Isso pode ser misturado com o (&) do Linux para você obter uma simulação de threads, executando assim diversos comandos em tarefas separadas.

Pode também ser misturando com o Cron, para assim você ter execuções agendadas. Scripts que executam scripts, scripts que fazem manutenções no banco de dados ou qualquer outra coisa que sua imaginação desejar.

Eu sugiro que você comece pelo manual de execução de programas do PHP. Assim você terá uma visão geral do assunto, porém sempre lembrando que a estrutura e as regras de segurança serão definidas pelo sistema operacional dentro do qual os scripts serão executados.

Isso acontece porque o PHP necessita do interpretador, diferenciando-se do Java que roda dentro de uma máquina virtual.

Logo você irá perceber que há mais de uma forma para realizar essa execução de tarefas, pois algumas funções antigas evoluíram para outras um pouco mais avançadas, mas no final das contas é tudo facilitado pela API do PHP que garante integração e facilidade no call dessas funcionalidades estruturais.

Estude também sobre a função exec(), a mais fácil e simples de todas, na minha opinião pessoal.

Depois, vá avançando 🙂

Olha só essa aqui: A função shell_exec(), bem mais completa. Dá pra fazer umas coisas alucinógenas com ela…

Essa função tem um atalho (shortcut) no interpretador do PHP. Se você usar o comando com craze (`) no script PHP, ele tentará ser executado dentro do Shell. Isso dá um problema com safe_mode ativado, mas é só desativar dentro do PHP.ini que fica tudo em casa….

Se você quiser manipular uns processos de execução de comandos com ponteiros de entradas e saídas (ui!!!) tente o proc_open(). É um passo a mais no nível de dificuldade, mas pode ser útil em algumas situações.

Nunca precisei usar, mas é sempre bom saber pra que serve, certo?

um abraço,

Diogo Besson

2 Comments

  1. Newton Wagner

    Olá Diogo, obrigado pela referência. É importante lembrar que, como essas funções executam comandos direto no servidor, é preciso ter muito cuidado para não comprometer a segurança da sua aplicação.

  2. Pingback: Trackback

Leave a Comment

O seu endereço de e-mail não será publicado.