SlideShare uma empresa Scribd logo
PHP em background



Muito se debate sobre a possibilidade do PHP
executar threads. Vamos descobrir formas
simples de como rodar processos em
background com total controle sobre eles.
Motivos para usar

●Executar processos sem necessidade de interação
com usuário.
● Compartilha o mesmo espaço de memória.


 Exemplos de uso:
● Processamento de grandes arquivos em

background
● Processos que necessitam ficar consumindo um

webservice
●Robôs para coleta de dados em sites
PHP – Process Control Extensions
●   Eio                                   Manual do PHP:
                                 extensões para controle de processo
●   Expect
●   Libevent
●   PCNTL
●   POSIX
●   Program Execution
●   pthreads
●   Shared Memory
●   Semaphore

     OBS: para utilizar pthreads é preciso recompilar o php com:
     --enable-maintainer-zts
     OBS²: pthreads só funcionam no PHP >= 5.3
IPC - Inter-Process Communication
          comunicação entre os processos

    Possibilidade de troca de informações entre processos de
    maneira assíncrona.


    Algumas formas de implementação de IPC:

●   Arquivos em disco
●   Banco de dados
●   Memória compartilhada
●   Socket / SOAP
Comunicação entre processos
              Semaphore
 ●   Acesso a área de partilha de dadospor outras
     linguagens/programas (como Perl, C, …)
 ●   Variáveis globais de
                                              Manual do PHP: Semaphore
     troca de dados.




Conselho: Não use drogas, aposente a Janela
     seja livre! Evite dores de cabeça.
Como fazer?
LEIA O MANUAL!!!!
     http://www.php.net
Processo em background

●   Linux
    php process.php &
●   Windows
    start /b “php process.php”


            OBS: coloque no crontab ou no agendador de tarefas
            um script para verificar, de x em x minutos, se o
            processo está em execução (veremos um exemplo)
Iniciando processo pelo PHP




                                             Manual do PHP:
                                          execução de programas
●   Apenas executa o script process.php
    se ele já não estiver em execução
●   Coloca o script process.php
    em background
Processo eterno
3 formas diferentes:




Dica: coloque um sleep() ou um
usleep() para evitar sobrecarga
do processador
Mão na massa
                       GIT - exemplo



Agora vamos ver os
códigos em execução!
Links - Contato
<?php
echo "
Vitor Mattos

http://www.slideshare.net/vitormattos
https://github.com/vitormattosrj

vitor.mattos@phprio.org
";
?>
          FIM
E viveram felizes para sempre!

Mais conteúdo relacionado

PDF
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
PDF
Primeira Aula PHP
PDF
PHP Presente e Futuro
PDF
Aula CRONTAB
KEY
Introdução ao Python & Web Services
PPTX
Sim, existe vida além do FTP!
PPTX
Linux básico
PDF
Apostila php
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
Primeira Aula PHP
PHP Presente e Futuro
Aula CRONTAB
Introdução ao Python & Web Services
Sim, existe vida além do FTP!
Linux básico
Apostila php

Mais procurados (20)

PDF
Desenvolvendo com IONIC
PDF
Iniciando com django
PPTX
Estrutura de repetição
PDF
Javascript
PDF
Escondendo um arquivo .rar em uma foto
PDF
Desenvolvimento de Software I - USBWEBSERVER - PHP
PPTX
Php Visao Geral Svs
PPS
Introdução ao Spider CPM (2)
PDF
Trabalhando com Logs no PostgreSQL
PDF
Shell Script - Aula 01
PDF
Vagrant uma ferramenta realmente útil e versátil
PDF
Single Packet Authorization
PDF
Introdução ao Node.js
PDF
Lab so-abertos-unidade14
PPTX
Introdução ao CMake
PDF
Tutorial do shell script para criar imagens de HDs Win7 usando Linux
PDF
Introdução às ferramentas cat por onde começar
PPTX
Introdução ao php - O que é e suas características
PDF
Proteção de pendrive
PPTX
Apresentação php
Desenvolvendo com IONIC
Iniciando com django
Estrutura de repetição
Javascript
Escondendo um arquivo .rar em uma foto
Desenvolvimento de Software I - USBWEBSERVER - PHP
Php Visao Geral Svs
Introdução ao Spider CPM (2)
Trabalhando com Logs no PostgreSQL
Shell Script - Aula 01
Vagrant uma ferramenta realmente útil e versátil
Single Packet Authorization
Introdução ao Node.js
Lab so-abertos-unidade14
Introdução ao CMake
Tutorial do shell script para criar imagens de HDs Win7 usando Linux
Introdução às ferramentas cat por onde começar
Introdução ao php - O que é e suas características
Proteção de pendrive
Apresentação php
Anúncio

Semelhante a PHP em Background (20)

PPS
CURSO DE PHP PARA INICIANTES - AULA 1
PDF
Qualidade em projetos PHP - PHPSC Conf 2011
PDF
Sistemas Operacionais
PPTX
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
PDF
Apostila básica de PHP
PDF
Intro linux
PDF
Aprenda a programar python
PPT
Processos (Linux)
PDF
Qualidade em projetos PHP - SoLiSC 2011
PDF
PHP Turbinado com CodeIgniter - Conisli 2011
PDF
Apostila php
PDF
Apostila php
PDF
Apostila php
PDF
Apostila php
PDF
Curso openmp
PPTX
Gestao de Memoria_SLIDE.pptx
PPT
Como migrar seu ambiente de desenvolvimento para Linux
CURSO DE PHP PARA INICIANTES - AULA 1
Qualidade em projetos PHP - PHPSC Conf 2011
Sistemas Operacionais
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
Apostila básica de PHP
Intro linux
Aprenda a programar python
Processos (Linux)
Qualidade em projetos PHP - SoLiSC 2011
PHP Turbinado com CodeIgniter - Conisli 2011
Apostila php
Apostila php
Apostila php
Apostila php
Curso openmp
Gestao de Memoria_SLIDE.pptx
Como migrar seu ambiente de desenvolvimento para Linux
Anúncio

Mais de Vitor Mattos (14)

PDF
Composer dependency manager - TDC - POA 2017
PDF
Composer dependency manager
PDF
Contribuindo e criando software livre
PDF
BDD: Torne viva a documentação de seus sistemas
PDF
Que oportunidades me encontrem!
PDF
Xdebug seus problemas acabaram - tdc floripa 2017
PDF
BDD: torne viva a documentação de seus sistemas
PDF
Xdebug seus problemas acabaram - TDC - PHPeste
PPTX
Seja subversivo, faça testes
PDF
Apresentação feedback cool
PDF
Melhor que whatsapp: telegram + php
PDF
BDD + PHP = behat!
PDF
Xdebug: Seus problemas acabaram!
PDF
JasperReports
Composer dependency manager - TDC - POA 2017
Composer dependency manager
Contribuindo e criando software livre
BDD: Torne viva a documentação de seus sistemas
Que oportunidades me encontrem!
Xdebug seus problemas acabaram - tdc floripa 2017
BDD: torne viva a documentação de seus sistemas
Xdebug seus problemas acabaram - TDC - PHPeste
Seja subversivo, faça testes
Apresentação feedback cool
Melhor que whatsapp: telegram + php
BDD + PHP = behat!
Xdebug: Seus problemas acabaram!
JasperReports

Último (19)

PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Aula 18 - Manipulacao De Arquivos python
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Apple Pippin Uma breve introdução. - David Glotz
Custos e liquidação no SAP Transportation Management, TM130 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Processos na gestão de transportes, TM100 Col18
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Aula04-Academia Heri- Tecnologia Geral 2025
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss

PHP em Background

  • 1. PHP em background Muito se debate sobre a possibilidade do PHP executar threads. Vamos descobrir formas simples de como rodar processos em background com total controle sobre eles.
  • 2. Motivos para usar ●Executar processos sem necessidade de interação com usuário. ● Compartilha o mesmo espaço de memória. Exemplos de uso: ● Processamento de grandes arquivos em background ● Processos que necessitam ficar consumindo um webservice ●Robôs para coleta de dados em sites
  • 3. PHP – Process Control Extensions ● Eio Manual do PHP: extensões para controle de processo ● Expect ● Libevent ● PCNTL ● POSIX ● Program Execution ● pthreads ● Shared Memory ● Semaphore OBS: para utilizar pthreads é preciso recompilar o php com: --enable-maintainer-zts OBS²: pthreads só funcionam no PHP >= 5.3
  • 4. IPC - Inter-Process Communication comunicação entre os processos Possibilidade de troca de informações entre processos de maneira assíncrona. Algumas formas de implementação de IPC: ● Arquivos em disco ● Banco de dados ● Memória compartilhada ● Socket / SOAP
  • 5. Comunicação entre processos Semaphore ● Acesso a área de partilha de dadospor outras linguagens/programas (como Perl, C, …) ● Variáveis globais de Manual do PHP: Semaphore troca de dados. Conselho: Não use drogas, aposente a Janela seja livre! Evite dores de cabeça.
  • 7. LEIA O MANUAL!!!! http://www.php.net
  • 8. Processo em background ● Linux php process.php & ● Windows start /b “php process.php” OBS: coloque no crontab ou no agendador de tarefas um script para verificar, de x em x minutos, se o processo está em execução (veremos um exemplo)
  • 9. Iniciando processo pelo PHP Manual do PHP: execução de programas ● Apenas executa o script process.php se ele já não estiver em execução ● Coloca o script process.php em background
  • 10. Processo eterno 3 formas diferentes: Dica: coloque um sleep() ou um usleep() para evitar sobrecarga do processador
  • 11. Mão na massa GIT - exemplo Agora vamos ver os códigos em execução!
  • 12. Links - Contato <?php echo " Vitor Mattos http://www.slideshare.net/vitormattos https://github.com/vitormattosrj vitor.mattos@phprio.org "; ?> FIM E viveram felizes para sempre!