Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 703d980c580707c382b4e43e25965bc5 > files > 54

php-manual-pt_BR-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Tratamento de Conexões</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Manual do PHP"
HREF="index.html"><LINK
REL="UP"
TITLE="Características"
HREF="features.html"><LINK
REL="PREVIOUS"
TITLE="Usando arquivos remotos"
HREF="features.remote-files.html"><LINK
REL="NEXT"
TITLE="Conexão Permanente com o Banco de Dados"
HREF="features.persistent-connections.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Manual do PHP</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="features.remote-files.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="features.persistent-connections.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="features.connection-handling"
>Capítulo 40. Tratamento de Conexões</A
></H1
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>O texto se aplica a versão 3.0.7 ou superior.</P
></BLOCKQUOTE
></DIV
><P
>&#13;   O status de uma conexão é mantido internamente no PHP. Existem 3
   estados possíveis:
   <P
></P
><UL
><LI
><P
>0 - NORMAL</P
></LI
><LI
><P
>1 - ABORTED</P
></LI
><LI
><P
>2 - TIMEOUT</P
></LI
></UL
>
  </P
><P
>&#13;   Quando um script PHP está sendo executado normalmente, o estado NORMAL está ativo.
   Se o cliente remoto disconecta, o estado ABORTED(abordado) é
   ligado. Uma disconexão do cliente remoto é normalmente causada pelo
   usuário apertando o botão STOP. Se o tempo limite imposto pelo PHP (veja
   <A
HREF="function.set-time-limit.html"
><B
CLASS="function"
>set_time_limit()</B
></A
>) é alcançado, o estado TIMEOUT (tempo acabado)
   é ligado.</P
><P
>&#13;   Você pode decidir se quer ou não que a disconexão do cliente cause
   que seu script seja abortado. As vezes é útil sempre fazer o seu
   script rodar até completar mesmo se não há nenhum navegador remoto recebendo
   a saída. O comportamento padrão, no entanto, é de seu script ser
   abortado quando o cliente remoto disconecta. Esse comportamento pode ser
   configurado através da diretiva ignore_user_abort <TT
CLASS="filename"
>php.ini</TT
> assim como pela
   diretiva correspondente do Apache .conf, "php_value ignore_user_abort" ou 
   com a função <A
HREF="function.ignore-user-abort.html"
><B
CLASS="function"
>ignore_user_abort()</B
></A
>. Se você não disser
   para o PHP ignorar o abort do usuário e ele abortar, seu script
   será finalizado. A única exceção é se você tiver registrado uma função 
   de finalização usando <A
HREF="function.register-shutdown-function.html"
><B
CLASS="function"
>register_shutdown_function()</B
></A
>. Com uma
   função de finalização, quando um usuário remoto clica no botão STOP, a
   próxima vez que seu script tentar gerar alguma saída, o PHP detectará que
   a conexão foi abortada e a função de finalização é chamada.
   Essa função de finalização também será chamada no fim do seu script
   mesmo terminando normalmente, então para fazer algo diferente caso o cliente
   disconecte, você pode usar a função <A
HREF="function.connection-aborted.html"
><B
CLASS="function"
>connection_aborted()</B
></A
>.
   Essa função retorna <TT
CLASS="constant"
><B
>TRUE</B
></TT
> se a conexão foi
   abortada.</P
><P
>&#13;   Seu script também pode ser finalizado pelo timer interno.
   O tempo limite padrão é de 30 segundos. Pode ser mudado usando a 
   diretiva <CODE
CLASS="option"
>max_execution_time</CODE
> <TT
CLASS="filename"
>php.ini</TT
> ou a diretiva do
   Apache .conf correspondente <TT
CLASS="literal"
>php_value max_execution_time</TT
> assim como com
   a função <A
HREF="function.set-time-limit.html"
><B
CLASS="function"
>set_time_limit()</B
></A
>. Quando o timer
   chega ao limite, o script será abortado e assim como o caso acima
   de disconexão, se uma função de finalização foi registrada, ela será
   chamada. Dentro da função de finalização você pode checar se a
   causa da finalização foi estouro do tempo limite chamando a 
   função <A
HREF="function.connection-timeout.html"
><B
CLASS="function"
>connection_timeout()</B
></A
>. Essa função retornará 
   <TT
CLASS="constant"
><B
>TRUE</B
></TT
> se o a função de finalização foi chamada pelo tempo ter acabado.
  </P
><P
>&#13;   Uma coisa a ser notada é que ambos os estados ABORTED e TIMEOUT
   podem estar ligados ao mesmo tempo.  Isso é possível se você disser
   ao PHP para ignorar o abort do usuário.  O PHP continuará a notar o fato que
   o usuário pode ter quebrado a conexão, mas o script continuará
   executando. Se então ele alcançar o tempo limite, ele será abortado e
   sua função de finalização, se houver, será chamada. Nesse ponto,
   você terá que <A
HREF="function.connection-status.html"
><B
CLASS="function"
>connection_status()</B
></A
>
   retorna 3.
  </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="features.remote-files.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Principal</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="features.persistent-connections.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Usando arquivos remotos</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="features.html"
ACCESSKEY="U"
>Acima</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Conexão Permanente com o Banco de Dados</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>