-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathregister-shutdown-function.xml
164 lines (153 loc) · 5 KB
/
register-shutdown-function.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: b412bbd26214f7281ac7dd858710e09952a275f2 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.register-shutdown-function" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>register_shutdown_function</refname>
<refpurpose>Enregistre une fonction de rappel pour exécution à l'extinction</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>register_shutdown_function</methodname>
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
<methodparam rep="repeat"><type>mixed</type><parameter>args</parameter></methodparam>
</methodsynopsis>
<para>
Enregistre une fonction de rappel <parameter>callback</parameter>
pour exécution à l'extinction ou lorsque
<function>exit</function> est appelé.
</para>
<para>
Plusieurs appels à <function>register_shutdown_function</function> sont
possibles dans le même script, et les fonctions seront appelées dans le
même ordre que celui dans lequel elles sont enregistrées. Si vous appelez
<function>exit</function>
durant l'une des fonctions d'extinction, le processus sera définitivement
arrêté, sans que les autres fonctions soient appelées.
</para>
<para>
les fonctions d'arrêt peuvent également appeler la fonction
<function>register_shutdown_function</function> elles-mêmes pour ajouter une
fonction d'arrêt à la fin de la file d'attente.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>callback</parameter></term>
<listitem>
<para>
La fonction de rappel à enregistrer.
</para>
<para>
La fonction de rappel est exécuté comme faisant parti de la
requête, aussi, il est possible d'envoyer quelque à la sortie
depuis cette dernière, puis d'accéder aux buffers de sortie.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>args</parameter></term>
<listitem>
<para>
Il est possible de passer des paramètres aux fonctions d'extinction
en configurant ces paramètres supplémentaires.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>register_shutdown_function</function></title>
<programlisting role="php">
<![CDATA[
<?php
function shutdown()
{
// Voici notre fonction shutdown
// dans laquelle nous pouvons faire
// toutes les dernières opérations
// avant la fin du script.
echo 'Script exécuté avec succès', PHP_EOL;
}
register_shutdown_function('shutdown');
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Le dossier de travail du script peut changer dans la fonction d'extinction
sous quelques serveurs web, e.g. Apache.
</para>
</note>
<note>
<para>
Les fonctions d'extinction ne seront pas exécutées si le processus est tué
avec un signal SIGTERM ou SIGKILL. Bien que vous ne pouvez pas intercepter
un SIGKILL, vous pouvez utiliser la fonction <function>pcntl_signal</function>
pour installer un gestionnaire pour un SIGTERM qui utilisera la fonction
<function>exit</function> pour mettre fin proprement.
</para>
</note>
<note>
<para>
Les fonctions d'arrêt s'exécutent séparément du temps suivi par
<link linkend="ini.max-execution-time">max_execution_time</link>. Cela signifie
que même si un processus est terminé pour avoir fonctionné trop longtemps, les
fonctions d'arrêt seront toujours appelées. De plus, si le
<literal>max_execution_time</literal> atteint sa limite pendant qu'une fonction
d'arrêt est en cours d'exécution, elle ne sera pas interrompue.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="ini.auto-append-file">auto_append_file</link></member>
<member><function>exit</function></member>
<member><function>fastcgi_finish_request</function></member>
<member>La section sur la <link linkend="features.connection-handling">gestion des connexions</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->