File: config.xml

package info (click to toggle)
php-doc 20241205~git.dfcbb86%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 70,956 kB
  • sloc: xml: 968,269; php: 23,883; javascript: 671; sh: 177; makefile: 37
file content (467 lines) | stat: -rw-r--r-- 16,587 bytes parent folder | download
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<chapter xml:id="mysqlnd.config" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">

  &reftitle.runtime;
  &extension.runtime;

  <para>
  <table xml:id="mysqlnd.config.options">
   <title>MySQL Native Driver Configuration Options</title>
   <tgroup cols="4">
    <thead>
     <row>
      <entry>&Name;</entry>
      <entry>&Default;</entry>
      <entry>&Changeable;</entry>
      <entry>&Changelog;</entry>
     </row>
    </thead>
    <tbody xml:id="mysqlnd.config.options.list">
     <row>
      <entry><link linkend="ini.mysqlnd.collect-statistics">mysqlnd.collect_statistics</link></entry>
      <entry>"1"</entry>
      <entry><constant>INI_SYSTEM</constant></entry>
      <entry></entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.collect-memory-statistics">mysqlnd.collect_memory_statistics</link></entry>
      <entry>"0"</entry>
      <entry><constant>INI_SYSTEM</constant></entry>
      <entry></entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.debug">mysqlnd.debug</link></entry>
      <entry>""</entry>
      <entry><constant>INI_SYSTEM</constant></entry>
      <entry></entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.log-mask">mysqlnd.log_mask</link></entry>
      <entry>0</entry>
      <entry><constant>INI_ALL</constant></entry>
      <entry></entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.mempool-default-size">mysqlnd.mempool_default_size</link></entry>
      <entry>16000</entry>
      <entry><constant>INI_ALL</constant></entry>
      <entry></entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.net-read-timeout">mysqlnd.net_read_timeout</link></entry>
      <entry>"86400"</entry>
      <entry><constant>INI_ALL</constant></entry>
      <entry>
       Before PHP 7.2.0 the default value was "31536000"
       and the changeability was <constant>INI_SYSTEM</constant>
      </entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.net-cmd-buffer-size">mysqlnd.net_cmd_buffer_size</link></entry>
      <entry>"4096"</entry>
      <entry><constant>INI_SYSTEM</constant></entry>
      <entry></entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.net-read-buffer-size">mysqlnd.net_read_buffer_size</link></entry>
      <entry>"32768"</entry>
      <entry><constant>INI_SYSTEM</constant></entry>
      <entry></entry>
     </row>
     <row>
      <entry><link linkend="ini.mysqlnd.sha256-server-public-key">mysqlnd.sha256_server_public_key</link></entry>
      <entry>""</entry>
      <entry><constant>INI_PERDIR</constant></entry>
      <entry></entry>
     </row>
      <row>
       <entry><link linkend="ini.mysqlnd.trace-alloc">mysqlnd.trace_alloc</link></entry>
       <entry>""</entry>
       <entry><constant>INI_SYSTEM</constant></entry>
       <entry></entry>
      </row>
     <row>
      <entry><link linkend="ini.mysqlnd.fetch_data_copy">mysqlnd.fetch_data_copy</link></entry>
      <entry>0</entry>
      <entry><constant>INI_ALL</constant></entry>
      <entry>Removed as of PHP 8.1.0</entry>
     </row>
    </tbody>
   </tgroup>
  </table>
  &ini.php.constants;
 </para>

  &ini.descriptions.title;

  <para>
  <variablelist>
   <varlistentry xml:id="ini.mysqlnd.collect-statistics">
    <term>
     <parameter>mysqlnd.collect_statistics</parameter>
     <type>bool</type>
    </term>
    <listitem>
     <para>
      Enables the collection of various client statistics which can be
      accessed through <function>mysqli_get_client_stats</function>,
      <function>mysqli_get_connection_stats</function>,
      and are shown in
      <literal>mysqlnd</literal> section of the output of the
      <function>phpinfo</function> function as well.
     </para>
     <para>
      This configuration setting enables all
      <link linkend="mysqlnd.stats">MySQL Native Driver
      statistics</link> except those relating to memory management.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.collect-memory-statistics">
    <term>
     <parameter>mysqlnd.collect_memory_statistics</parameter>
     <type>bool</type>
    </term>
    <listitem>
     <para>
      Enable the collection of various memory statistics which can be
      accessed through <function>mysqli_get_client_stats</function>,
      <function>mysqli_get_connection_stats</function>,
      and are shown in
      <literal>mysqlnd</literal> section of the output of the
      <function>phpinfo</function> function as well.
     </para>
     <para>
      This configuration setting enables the memory management
      statistics within the overall set of
      <link linkend="mysqlnd.stats">MySQL Native Driver
      statistics</link>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.debug">
    <term>
     <parameter>mysqlnd.debug</parameter> <type>string</type>
    </term>
    <listitem>
     <para>
      Records communication from all extensions using
      <literal>mysqlnd</literal> to the specified log file.
     </para>
     <para>
      The format of the directive is <literal>mysqlnd.debug =
      "option1[,parameter_option1][:option2[,parameter_option2]]"</literal>.
     </para>
     <para>
      The options for the format string are as follows:
     </para>
     <itemizedlist>
      <listitem>
       <para>
        A[,file] - Appends trace output to specified file. Also ensures
        that data is written after each write. This is done by closing
        and reopening the trace file (this is slow). It helps ensure a
        complete log file should the application crash.
       </para>
      </listitem>
      <listitem>
       <para>
        a[,file] - Appends trace output to the specified file.
       </para>
      </listitem>
      <listitem>
       <para>
        d - Enables output from DBUG_&lt;N&gt; macros for the current
        state. May be followed by a list of keywords which selects
        output only for the DBUG macros with that keyword. An empty list
        of keywords implies output for all macros.
       </para>
      </listitem>
      <listitem>
       <para>
        f[,functions] - Limits debugger actions to the specified list of
        functions. An empty list of functions implies that all functions
        are selected.
       </para>
      </listitem>
      <listitem>
       <para>
        F - Marks each debugger output line with the name of the source
        file containing the macro causing the output.
       </para>
      </listitem>
      <listitem>
       <para>
        i - Marks each debugger output line with the PID of the current
        process.
       </para>
      </listitem>
      <listitem>
       <para>
        L - Marks each debugger output line with the name of the source
        file line number of the macro causing the output.
       </para>
      </listitem>
      <listitem>
       <para>
        n - Marks each debugger output line with the current function
        nesting depth
       </para>
      </listitem>
      <listitem>
       <para>
        o[,file] - Similar to a[,file] but overwrites old file, and does
        not append.
       </para>
      </listitem>
      <listitem>
       <para>
        O[,file] - Similar to A[,file] but overwrites old file, and does
        not append.
       </para>
      </listitem>
      <listitem>
       <para>
        t[,N] - Enables function control flow tracing. The maximum
        nesting depth is specified by N, and defaults to 200.
       </para>
      </listitem>
      <listitem>
       <para>
        x - This option activates profiling.
       </para>
      </listitem>
       <listitem>
       <para>
        m - Trace memory allocation and deallocation related calls.
       </para>
      </listitem>
     </itemizedlist>
     <para>
      Example:
     </para>
<programlisting>
<![CDATA[
d:t:x:O,/tmp/mysqlnd.trace
]]>
</programlisting>
     <note>
      <para>
       This feature is only available with a debug build of PHP.
      </para>
     </note>
     <para></para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.log-mask">
    <term>
     <parameter>mysqlnd.log_mask</parameter>
     <type>int</type>
    </term>
    <listitem>
     <para>
      Defines which queries will be logged. The default 0, which disables logging.
      Define using an integer, and not with PHP constants. For example, a value of
      48 (16 + 32) will log slow queries which either use 'no good index'
      (SERVER_QUERY_NO_GOOD_INDEX_USED = 16) or no index at all (SERVER_QUERY_NO_INDEX_USED = 32).
      A value of 2043 (1 + 2 + 8 + ... + 1024) will log all slow query types.
     </para>
     <para>
      The types are as follows: SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2,
      SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16, SERVER_QUERY_NO_INDEX_USED=32,
      SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128, SERVER_STATUS_DB_DROPPED=256,
      SERVER_STATUS_NO_BACKSLASH_ESCAPES=512, and SERVER_QUERY_WAS_SLOW=1024.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.mempool-default-size">
    <term>
     <parameter>mysqlnd.mempool_default_size</parameter>
     <type>int</type>
    </term>
    <listitem>
     <para>
      Default size of the mysqlnd memory pool, which is used by result sets.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.net-read-timeout">
    <term>
     <parameter>mysqlnd.net_read_timeout</parameter>
     <type>int</type>
    </term>
    <listitem>
     <para>
      <literal>mysqlnd</literal> and the MySQL Client Library,
      <literal>libmysqlclient</literal> use different networking APIs.
      <literal>mysqlnd</literal> uses PHP streams, whereas
      <literal>libmysqlclient</literal> uses its own wrapper around the
      operating level network calls. PHP, by default, sets a read
      timeout of 60s for streams. This is set via
      <filename>php.ini</filename>,
      <literal>default_socket_timeout</literal>. This default applies to
      all streams that set no other timeout value.
      <literal>mysqlnd</literal> does not set any other value and
      therefore connections of long running queries can be disconnected
      after <literal>default_socket_timeout</literal> seconds resulting
      in an error message <quote>2006 - MySQL Server has gone
      away</quote>. The MySQL Client Library sets a default timeout of
      24 * 3600 seconds (1 day) and waits for other timeouts to
      occur, such as TCP/IP timeouts. <literal>mysqlnd</literal> now
      uses the same very long timeout. The value is configurable through
      a new <filename>php.ini</filename> setting:
      <literal>mysqlnd.net_read_timeout</literal>.
      <literal>mysqlnd.net_read_timeout</literal> gets used by any
      extension (<literal>ext/mysql</literal>,
      <literal>ext/mysqli</literal>, <literal>PDO_MySQL</literal>) that
      uses <literal>mysqlnd</literal>. <literal>mysqlnd</literal> tells
      PHP Streams to use <literal>mysqlnd.net_read_timeout</literal>.
      Please note that there may be subtle differences between
      <literal>MYSQL_OPT_READ_TIMEOUT</literal> from the MySQL Client
      Library and PHP Streams, for example
      <literal>MYSQL_OPT_READ_TIMEOUT</literal> is documented to work
      only for TCP/IP connections and, prior to MySQL 5.1.2, only for
      Windows. PHP streams may not have this limitation. Please check
      the streams documentation, if in doubt.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.net-cmd-buffer-size">
    <term>
     <parameter>mysqlnd.net_cmd_buffer_size</parameter>
     <type>int</type>
    </term>
    <listitem>
     <para>
      <literal>mysqlnd</literal> allocates an internal command/network
      buffer of <literal>mysqlnd.net_cmd_buffer_size</literal> (in
      <filename>php.ini</filename>) bytes for every connection. If a
      MySQL Client Server protocol command, for example,
      <literal>COM_QUERY</literal> (<quote>normal</quote> query), does
      not fit into the buffer, <literal>mysqlnd</literal> will grow the
      buffer to the size required for sending the command. Whenever the
      buffer gets extended for one connection,
      <literal>command_buffer_too_small</literal> will be incremented by
      one.
     </para>
     <para>
      If <literal>mysqlnd</literal> has to grow the buffer beyond its
      initial size of <literal>mysqlnd.net_cmd_buffer_size</literal>
      bytes for almost every connection, you should consider increasing
      the default size to avoid re-allocations.
     </para>
     <para>
      The default buffer size is 4096 bytes, which is the smallest value possible.
     </para>
     <para>
      The value can also be set using <literal>mysqli_options(link,
      MYSQLI_OPT_NET_CMD_BUFFER_SIZE, size)</literal>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.net-read-buffer-size">
    <term>
     <parameter>mysqlnd.net_read_buffer_size</parameter>
     <type>int</type>
    </term>
    <listitem>
     <para>
      Maximum read chunk size in bytes when reading the body of a MySQL
      command packet. The MySQL client server protocol encapsulates all
      its commands in packets. The packets consist of a small header and
      a body with the actual payload. The size of the body is encoded in
      the header. <literal>mysqlnd</literal> reads the body in chunks of
      <literal>MIN(header.size, mysqlnd.net_read_buffer_size)</literal>
      bytes. If a packet body is larger than
      <literal>mysqlnd.net_read_buffer_size</literal> bytes,
      <literal>mysqlnd</literal> has to call <literal>read()</literal>
      multiple times.
     </para>
     <para>
      The value can also be set using <literal>mysqli_options(link,
      MYSQLI_OPT_NET_READ_BUFFER_SIZE, size)</literal>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.sha256-server-public-key">
    <term>
     <parameter>mysqlnd.sha256_server_public_key</parameter>
     <type>string</type>
    </term>
    <listitem>
     <para>
      SHA-256 Authentication Plugin related. File with the MySQL server
      public RSA key.
     </para>
     <para>
      Clients can either omit setting a public RSA key, specify the key through
      this PHP configuration setting or set the key at runtime using
      <function>mysqli_options</function>. If not public RSA key file is
      given by the client, then the key will be exchanged as part of the
      standard SHA-256 Authentication Plugin authentication procedure.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.trace-alloc">
    <term>
     <parameter>mysqlnd.trace_alloc</parameter>
     <type>string</type>
    </term>
    <listitem>
     <para>
     </para>
    </listitem>
   </varlistentry>
   <varlistentry xml:id="ini.mysqlnd.fetch_data_copy">
    <term>
     <parameter>mysqlnd.fetch_data_copy</parameter>
     <type>int</type>
    </term>
    <listitem>
     <para>
      Enforce copying result sets from the internal
      result set buffers into PHP variables instead of using the default
      reference and copy-on-write logic. Please, see the
      <link linkend="mysqlnd.memory">memory management implementation notes</link>
      for further details.
     </para>
     <para>
      Copying result sets instead of having PHP variables reference
      them allows releasing the memory occupied for the PHP variables earlier.
      Depending on the user API code, the actual database quries and the
      size of their result sets this may reduce the memory footprint
      of mysqlnd.
     </para>
     <para>
       Do not set if using PDO_MySQL. PDO_MySQL has not yet been updated to support
       the new fetch mode.
     </para>
    <note>
     <simpara>Removed as of PHP 8.1.0</simpara>
    </note>
    </listitem>
   </varlistentry>
  </variablelist>
 </para>
</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
-->