-
Notifications
You must be signed in to change notification settings - Fork 70
/
ini.xml
596 lines (571 loc) · 25.6 KB
/
ini.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
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
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 72a6f3d35e914602703b698a5d8f52732b61ed3e Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<section xml:id="errorfunc.configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Настройки конфигурации протоколирования событий и ошибок</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.error-reporting">error_reporting</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.display-errors">display_errors</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.display-startup-errors">display_startup_errors</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
До PHP 8.0.0 значение по умолчанию было <literal>"0"</literal>.
</entry>
</row>
<row>
<entry><link linkend="ini.log-errors">log_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.log-errors-max-len">log_errors_max_len</link></entry>
<entry>"1024"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Не имеет смысла в версии PHP 8.0.0, удалено в версии PHP 8.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.ignore-repeated-errors">ignore_repeated_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.ignore-repeated-source">ignore_repeated_source</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.report-memleaks">report_memleaks</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.track-errors">track_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Объявлено устаревшим в PHP 7.2.0, удалено в PHP 8.0.0.</entry>
</row>
<row>
<entry><link linkend="ini.html-errors">html_errors</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.xmlrpc-errors">xmlrpc_errors</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.xmlrpc-error-number">xmlrpc_error_number</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.docref-root">docref_root</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.docref-ext">docref_ext</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-prepend-string">error_prepend_string</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-append-string">error_append_string</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-log">error_log</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-log-mode">error_log_mode</link></entry>
<entry>0o644</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Доступно, начиная с PHP 8.2.0</entry>
</row>
<row>
<entry><link linkend="ini.syslog.facility">syslog.facility</link></entry>
<entry>"LOG_USER"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Доступно, начиная с PHP 7.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.syslog.filter">syslog.filter</link></entry>
<entry>"no-ctrl"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Доступно, начиная с PHP 7.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.syslog.ident">syslog.ident</link></entry>
<entry>"php"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Доступно, начиная с PHP 7.3.0.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.error-reporting">
<term>
<parameter>error_reporting</parameter>
<type>int</type>
</term>
<listitem>
<para>
Задаёт уровень протоколирования ошибки. Параметр может быть либо числом,
представляющим битовое поле, либо именованной константой.
Соответствующие уровни и константы приведены в разделе
<link linkend="errorfunc.constants">Предопределённые константы</link>,
а также в &php.ini;. Для установки настройки во время выполнения используйте функцию
<function>error_reporting</function>. Смотрите также описание директивы
<link linkend="ini.display-errors">display_errors</link>.
</para>
<para>
Значение по умолчанию равно <constant>E_ALL</constant>.
</para>
<para>
До PHP 8.0.0 значение по умолчанию было:
<userinput><constant>E_ALL</constant> &
~<constant>E_NOTICE</constant> &
~<constant>E_STRICT</constant> &
~<constant>E_DEPRECATED</constant></userinput>.
При этой настройке не отображаются уровни ошибок <constant>E_NOTICE</constant>,
<constant>E_STRICT</constant> и <constant>E_DEPRECATED</constant>.
</para>
<note>
<title>PHP-константы за пределами PHP</title>
<para>
Использование PHP-констант за пределами PHP, например в файле
<filename>httpd.conf</filename>, не имеет смысла, так как в таких случаях требуются
целочисленные значения (<type>int</type>). Более того, с течением времени будут
добавляться новые уровни ошибок, а максимальное значение константы
<constant>E_ALL</constant> соответственно будет расти. Поэтому в месте, где
предполагается указать <constant>E_ALL</constant>, лучше задать большое целое число,
чтобы перекрыть все возможные битовые поля. Таким числом может быть, например,
<literal>2147483647</literal> (оно включит все возможные ошибки, не
только <constant>E_ALL</constant>).
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-errors">
<term>
<parameter>display_errors</parameter>
<type>string</type>
</term>
<listitem>
<para>
Эта настройка определяет, требуется ли выводить ошибки на экран вместе
с остальным выводом, либо ошибки должны быть скрыты от пользователя.
</para>
<para>
Значение <literal>"stderr"</literal> посылает ошибки в поток <literal>stderr</literal>
вместо <literal>stdout</literal>.
</para>
<note>
<para>
Эта функциональность предназначена только для разработки и не должна использоваться в
готовых производственных системах (например, системах, имеющих доступ в интернет).
</para>
</note>
<note>
<para>
Несмотря на то, что display_errors может быть установлена во время выполнения
(функцией <function>ini_set</function>), это ни на что не повлияет, если в скрипте есть
фатальные ошибки. Это обусловлено тем, что ожидаемые действия программы во время
выполнения не получат управления (не будут выполняться).
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-startup-errors">
<term>
<parameter>display_startup_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Даже если display_errors включена, ошибки, возникающие во время запуска PHP, не будут
отображаться. Настойчиво рекомендуем включать директиву display_startup_errors только
для отладки.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.log-errors">
<term>
<parameter>log_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Отвечает за выбор журнала, в котором будут сохраняться сообщения об ошибках. Это
может быть журнал сервера или <link linkend="ini.error-log">error_log</link>.
Применимость этой настройки зависит от конкретного сервера.
</para>
<note>
<para>
Настоятельно рекомендуем при работе на готовых работающих
web сайтах протоколировать ошибки там, где они отображаются.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.log-errors-max-len">
<term>
<parameter>log_errors_max_len</parameter>
<type>int</type>
</term>
<listitem>
<para>
Задание максимальной длины log_errors в байтах. В
<link linkend="ini.error-log">error_log</link> добавляется информация
об источнике. Значение по умолчанию 1024. Установка значения в 0
позволяет снять ограничение на длину log_errors. Это ограничение
распространяется на записываемые в журнал ошибки, на отображаемые ошибки,
а также на <varname>$php_errormsg</varname>, но не на явно вызываемые функции,
такие как <function>error_log</function>.
</para>
&ini.shorthandbytes;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ignore-repeated-errors">
<term>
<parameter>ignore_repeated_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Не заносить в журнал повторяющиеся ошибки. Ошибка считается
повторяющейся, если происходит в том же файле и в той же строке, и если настройка
<link linkend="ini.ignore-repeated-source">ignore_repeated_source</link> выключена.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ignore-repeated-source">
<term>
<parameter>ignore_repeated_source</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Игнорировать источник ошибок при пропуске повторяющихся сообщений. Когда
эта настройка включена, повторяющиеся сообщения об ошибках не будут
заноситься в журнал вне зависимости от того, в каких файлах и строках они происходят.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.report-memleaks">
<term>
<parameter>report_memleaks</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Если настройка включена (по умолчанию), будет формироваться отчёт об утечках памяти,
зафиксированных менеджером памяти Zend. На POSIX платформах этот отчёт будет
направляться в поток stderr. На Windows платформах он будет посылаться в отладчик
функцией OutputDebugString(), просмотреть отчёт в этом случае можно с помощью утилит,
вроде <link xlink:href="&url.dbgview;">DbgView</link>. Эта настройка имеет
смысл в сборках, предназначенных для отладки. При этом
<constant>E_WARNING</constant> должна быть включена в список error_reporting.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.track-errors">
<term>
<parameter>track_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Если включена, последняя произошедшая ошибка будет первой в переменной
<varname>$php_errormsg</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.html-errors">
<term>
<parameter>html_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Если директиву включили, сообщения об ошибках будут включать HTML-теги. Формат для
HTML-ошибок создаёт интерактивные сообщения, которые направляют пользователя на страницу,
которая описывает ошибку или функцию, которая вызвала ошибку. На такие ссылки влияют
директивы <link linkend="ini.docref-root">docref_root</link>
и <link linkend="ini.docref-ext">docref_ext</link>.
</para>
<para>
Если директиву выключили, ошибки будут выдаваться простым текстом, без форматирования.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-errors">
<term>
<parameter>xmlrpc_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Если включена, то нормальное оповещение об ошибках отключается и, вместо него,
ошибки выводятся в формате XML-RPC.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-error-number">
<term>
<parameter>xmlrpc_error_number</parameter>
<type>int</type>
</term>
<listitem>
<para>
Используется в качестве значения XML-RPC элемента faultCode.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-root">
<term>
<parameter>docref_root</parameter>
<type>string</type>
</term>
<listitem>
<para>
Новый формат ошибок содержит ссылку на страницу с описанием ошибки или
функции, вызвавшей эту ошибку. Можно разместить копию
описаний ошибок и функций локально и задать ini директиве значение
URL этой копии. Если, например, локальная копия описаний доступна по
адресу <literal>"/manual/"</literal>, достаточно прописать
<userinput>docref_root=/manual/</userinput>. Дополнительно, необходимо
задать значение директиве docref_ext, отвечающей за соответствие
расширений файлов файлам описаний вашей локальной копии,
<userinput>docref_ext=.html</userinput>. Также возможно использование
внешних ссылок. Например,
<userinput>docref_root=http://manual/en/</userinput> или
<userinput>docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon
&url=http%3A%2F%2Fwww.php.net%2F"</userinput>
</para>
<para>
В большинстве случаев вам потребуется, чтобы значение docref_root оканчивалось
слешем <literal>"/"</literal>. Тем не менее, бывают случаи, когда
это не требуется (смотрите выше, второй пример).
</para>
<note>
<para>
Эта функциональность предназначена только для разработки, так как он облегчает
поиск описаний функций и ошибок. Не используйте его в готовых
производственных системах (например, имеющих доступ в интернет).
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-ext">
<term>
<parameter>docref_ext</parameter>
<type>string</type>
</term>
<listitem>
<para>
Смотрите <link linkend="ini.docref-root">docref_root</link>.
</para>
<note>
<para>
Значение docref_ext должно начинаться с точки <literal>"."</literal>.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-prepend-string">
<term>
<parameter>error_prepend_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
Строка, которая будет выводиться непосредственно перед сообщением об ошибке.
Используется только тогда, когда на экране отображается сообщение об ошибке.
Основная цель - добавить дополнительную HTML-разметку к сообщению об ошибке.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-append-string">
<term>
<parameter>error_append_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
Строка, которая будет выводиться после сообщения об ошибке.
Используется только тогда, когда на экране отображается сообщение об ошибке.
Основная цель - добавить дополнительную HTML-разметку к сообщению об ошибке.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-log">
<term>
<parameter>error_log</parameter>
<type>string</type>
</term>
<listitem>
<para>
Имя файла, в который будут добавляться сообщения об ошибках. Файл
должен быть открыт для записи пользователем веб-сервера. Если
используется специальное значение <literal>syslog</literal>, то
сообщения будут посылаться в системный журнал. На Unix-системах это
syslog(3), на Windows NT - журнал событий. Смотрите также: <function>syslog</function>.
Если директива не задана, ошибки будут направляться в SAPI журналы.
Например, это могут быть журналы ошибок Apache или поток
<literal>stderr</literal> командной строки CLI.
Смотрите также функцию <function>error_log</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-log-mode">
<term>
<parameter>error_log_mode</parameter>
<type>int</type>
</term>
<listitem>
<para>
Режим файла, описанного в <link linkend="ini.error-log">error_log</link>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.facility">
<term>
<parameter>syslog.facility</parameter>
<type>string</type>
</term>
<listitem>
<para>
Указывает, какой тип программы регистрирует сообщение.
Действует только в том случае, если опция <link linkend="ini.error-log">error_log</link> установлена в "syslog".
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.filter">
<term>
<parameter>syslog.filter</parameter>
<type>string</type>
</term>
<listitem>
<para>
Указывает тип фильтра для фильтрации регистрируемых сообщений.
Разрешённые символы передаются без изменений; все остальные записываются в шестнадцатеричном представлении с префиксом <literal>\x</literal>.
<itemizedlist>
<listitem>
<simpara><literal>all</literal> – строка будет разделена
на символы новой строки и все символы будут переданы без изменений
</simpara>
</listitem>
<listitem>
<simpara><literal>ascii</literal> – строка будет разделена
на символы новой строки, а любые непечатаемые 7-битные символы ASCII будут экранированы
</simpara>
</listitem>
<listitem>
<simpara><literal>no-ctrl</literal> – строка будет разделена
на символы новой строки, а любые непечатаемые символы будут экранированы
</simpara>
</listitem>
<listitem>
<simpara><literal>raw</literal> – все символы передаются в системный
журнал без изменений, без разделения на новые строки (идентично PHP до 7.3)
</simpara>
</listitem>
</itemizedlist>
Параметр влияет на ведение журнала через <link linkend="ini.error-log">error_log</link> установленного в "syslog" и вызовы <function>syslog</function>.
</para>
<note>
<para>
Тип фильтра <literal>raw</literal> доступен начиная с PHP 7.3.8 и PHP 7.4.0.
</para>
</note>
<simpara>
Директива не поддерживается в Windows.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.ident">
<term>
<parameter>syslog.ident</parameter>
<type>string</type>
</term>
<listitem>
<para>
Определяет строку идентификатора, которая добавляется к каждому сообщению.
Действует только в том случае, если опция <link linkend="ini.error-log">error_log</link> установлена в "syslog".
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- 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
-->