mirror of
https://github.com/php/doc-es.git
synced 2026-04-28 09:33:10 +02:00
72cefbf58a
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@338422 c90b9560-bf6c-de11-be94-00142212c4b1
96 lines
4.3 KiB
XML
96 lines
4.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: c7590bf936b04f04380e23096f20d1a32600b7ae Maintainer: hcrow Status: ready -->
|
|
<!-- Reviewed: yes Maintainer: seros -->
|
|
<chapter xml:id="features.connection-handling" xmlns="http://docbook.org/ns/docbook">
|
|
<title>Manejo de conexiones</title>
|
|
|
|
<para>
|
|
Internamente, en PHP se mantiene un estado de conexión. Hay 4
|
|
posibles estados:
|
|
<itemizedlist>
|
|
<listitem><simpara>0 - NORMAL</simpara></listitem>
|
|
<listitem><simpara>1 - ABORTED</simpara></listitem>
|
|
<listitem><simpara>2 - TIMEOUT</simpara></listitem>
|
|
<listitem><simpara>3 - ABORTED y TIMEOUT</simpara></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<simpara>
|
|
Cuando un script de PHP está ejecutándose normalmente está activo el estado NORMAL (normal).
|
|
Si el cliente remoto se desconecta, se activa el indicador de estado
|
|
ABORTED (abortada). Un cliente remoto se desconecta normalmente porque
|
|
presiona su botón STOP. Si se alcanza el tiempo límite impuesto por PHP
|
|
(véase <function>set_time_limit</function>), se activa el indicador de estado
|
|
TIMEOUT (expirada).</simpara>
|
|
|
|
<simpara>
|
|
Se puede decidir si se desea que un cliente que se desconecte ocasione
|
|
que se aborte el script. Algunas veces es útil que los scripts se ejecuten
|
|
hasta su finalización, incluso si ya no hay un navegador remoto recibiendo
|
|
la salida. Sin embargo, el comportamiento predeterminado es que el script
|
|
sea abortado cuando el cliente remoto se desconecte. Este comportamiento puede ser
|
|
establecido a través de la directiva ignore_user_abort de &php.ini;, así como a través
|
|
de la directiva correspondiente de Apache
|
|
<literal>php_value ignore_user_abort</literal> de &httpd.conf;, o
|
|
con la función <function>ignore_user_abort</function>. Si se decide no
|
|
indicarle a PHP que ignore que el usuario aborte y el usuario aborta, el script
|
|
finalizará. La única excepción es si se tiene registrada una función de apagado
|
|
con <function>register_shutdown_function</function>. Con una
|
|
función de apagado, cuando el usuario remoto activa el botón STOP, la
|
|
próxima vez que el script intente mostrar algo, PHP detectará que
|
|
la conexión fue abortada, llamando así a la función de apagado.
|
|
Esta función de apagado también se invoca al final del script cuando
|
|
finaliza normalmente, así que para hacer algo diferente en caso de que un
|
|
cliente se desconecte, se puede emplear la función <function>connection_aborted</function>.
|
|
Esta función devolverá &true; si la conexión fue
|
|
abortada.</simpara>
|
|
|
|
<simpara>
|
|
El script puede ser finalizado también por el temporizador de script
|
|
incorporado. El tiempo predeterminado es de 30 segundos. Se puede cambiar
|
|
con la directiva <option>max_execution_time</option> de &php.ini; o la
|
|
correspondiente de Apache <literal>php_value max_execution_time</literal>
|
|
de &httpd.conf;, así como con la
|
|
función <function>set_time_limit</function>. Cuando el temporizador
|
|
expira, el script se abortará y, como el caso del cliente anterior que
|
|
se desconectó, si la función de apagado ha sido registrada, será llamada.
|
|
Dentro de esta función de apagado se puede comprobar si el tiempo de
|
|
espera causó la llamada a la función de apagado invocando a
|
|
la función <function>connection_status</function>. Esta función devolverá
|
|
2 si el tiempo de espera causó la llamada a la función de apagado.
|
|
</simpara>
|
|
|
|
<simpara>
|
|
Una cosa a observar es que los estados ABORTED y TIMEOUT pueden estar
|
|
activados al mismo tiempo. Esto es posible si se le indica a PHP
|
|
que ignore los abortos que ocasione el usuario. PHP notará de hecho que un
|
|
usuario podría haber roto la conexión, pero el script se mantendrá
|
|
ejecutándose. Si entonces se alcanza el límite de tiempo, será abortado y
|
|
la función de apagado, si la hubiera, será llamada. En este punto se
|
|
encontrará que <function>connection_status</function>
|
|
devuelve 3.
|
|
</simpara>
|
|
</chapter>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|