-
Notifications
You must be signed in to change notification settings - Fork 42
/
ini.xml
626 lines (600 loc) · 20.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
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 72a6f3d35e914602703b698a5d8f52732b61ed3e Maintainer: samesch 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>Konfigurationsoptionen für Fehler und Protokollierung</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>
Vor PHP 8.0.0 war der Standardwert <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>Seit PHP 8.0.0 wirkungslos; entfernt in 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>Seit PHP 7.2.0 veraltet; entfernt in 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>Verfügbar seit 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>Verfügbar seit 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>Verfügbar seit 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>Verfügbar seit 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>
Legt die Stufe der Fehlermeldung fest. Der Parameter ist entweder eine
Ganzzahl, die ein Bitfeld darstellt, oder eine benannte Konstante. Die
Stufen und Konstanten von error_reporting werden in
<link linkend="errorfunc.constants">Vordefinierte Konstanten</link> und
in der &php.ini; beschrieben. Mit der Funktion
<function>error_reporting</function> können die Werte zur Laufzeit
festgelegt werden. Siehe auch die Direktive
<link linkend="ini.display-errors">display_errors</link>.
</para>
<para>
Der Standardwert ist <constant>E_ALL</constant>.
</para>
<para>
Vor PHP 8.0.0 war der Standardwert
<userinput><constant>E_ALL</constant> &
~<constant>E_NOTICE</constant> &
~<constant>E_STRICT</constant> &
~<constant>E_DEPRECATED</constant></userinput>.
Das bedeutet, dass Fehler der Stufen <constant>E_NOTICE</constant>,
<constant>E_STRICT</constant> und <constant>E_DEPRECATED</constant>
nicht angezeigt wurden.
</para>
<note>
<title>PHP-Konstanten außerhalb von PHP</title>
<para>
Es ist nicht sinnvoll, PHP-Konstanten außerhalb von PHP, &zb; in der
<filename>httpd.conf</filename>, zu verwenden, weshalb in solchen
Fällen die <type>int</type>-Werte benötigt werden. Und weil im Laufe
der Zeit weitere Fehlerstufen hinzugefügt werden, wird sich der
Maximalwert (für <constant>E_ALL</constant>) wahrscheinlich ändern. Um
also jetzt und auch in Zukunft alle Bitfelder abzudecken, sollte statt
<constant>E_ALL</constant> ein größerer numerischer Wert wie
<literal>2147483647</literal> (einschließlich aller Fehler, nicht nur
<constant>E_ALL</constant>) verwendet werden.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-errors">
<term>
<parameter>display_errors</parameter>
<type>string</type>
</term>
<listitem>
<para>
Legt fest, ob Fehlermeldungen als Teil der Ausgabe auf dem Bildschirm
ausgegeben oder vor dem Benutzer verborgen werden sollen.
</para>
<para>
Der Wert <literal>"stderr"</literal> sendet die Fehler an
<literal>stderr</literal> statt an <literal>stdout</literal>.
</para>
<note>
<para>
Diese Funktionalität ist für die Entwicklung gedacht und sollte niemals
auf Produktionssystemen (&zb; Systemen, die mit dem Internet verbunden
sind) verwendet werden.
</para>
</note>
<note>
<para>
Obwohl display_errors zur Laufzeit gesetzt werden kann (mit
<function>ini_set</function>), hat dies keine Auswirkung, wenn das
Skript fatale Fehler hat. Dies liegt daran, dass die gewünschte Aktion
zur Laufzeit nicht ausgeführt wird.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-startup-errors">
<term>
<parameter>display_startup_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Auch wenn display_errors aktiviert ist, werden Fehler, die während des
Startvorgangs von PHP auftreten, nicht angezeigt. Es wird dringend
empfohlen, display_startup_errors nur für die Fehlersuche zu aktivieren.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.log-errors">
<term>
<parameter>log_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Legt fest, ob vom Skript verursachte Fehlermeldungen im Fehlerprotokoll
des Servers oder in <link linkend="ini.error-log">error_log</link>
protokolliert werden sollen und ist daher serverspezifisch.
</para>
<note>
<para>
Es wird dringend empfohlen, auf Produktiv-Websites Fehler zu
protokollieren, anstatt sie anzuzeigen.
</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>
Legt die maximale Länge von log_errors in Bytes fest. Informationen
über die Quelle werden in <link linkend="ini.error-log">error_log</link>
hinzugefügt. Der Standardwert ist 1024 und der Wert 0 bedeutet, dass die
maximale Länge überhaupt nicht angewendet wird. Diese Länge gilt für
protokollierte Fehler, angezeigte Fehler und auch für
<varname>$php_errormsg</varname>, aber nicht für explizit aufgerufene
Funktionen wie <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>
Wiederholte Meldungen nicht protokollieren. Wiederholte Fehler müssen in
derselben Datei in derselben Zeile auftreten, es sei denn,
<link linkend="ini.ignore-repeated-source">ignore_repeated_source</link>
ist auf true gesetzt.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ignore-repeated-source">
<term>
<parameter>ignore_repeated_source</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Die Quelle der Meldung ignorieren, wenn wiederholte Meldungen ignoriert
werden. Wenn diese Einstellung auf On gesetzt ist, werden Fehler mit
wiederholten Meldungen aus verschiedenen Dateien oder anderen Zeilen des
Quellcodes nicht protokolliert.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.report-memleaks">
<term>
<parameter>report_memleaks</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wenn dieser Parameter auf On gesetzt ist (die Standardeinstellung), wird
ein Bericht über Speicherlecks angezeigt, die vom Zend-Speichermanager
entdeckt wurden. Auf Posix-Plattformen wird dieser Bericht an stderr
gesendet. Unter Windows wird er mittels OutputDebugString() an den
Debugger gesendet und kann mit Tools wie
<link xlink:href="&url.dbgview;">DbgView</link> angesehen werden. Dieser
Parameter ist nur in einem Debug-Build wirksam und nur, wenn
<constant>E_WARNING</constant> in der Liste von error_reporting
enthalten ist.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.track-errors">
<term>
<parameter>track_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wenn diese Option aktiviert ist, wird die letzte Fehlermeldung immer in
der Variablen <varname>$php_errormsg</varname> abgelegt.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.html-errors">
<term>
<parameter>html_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wenn diese Option aktiviert ist, enthalten die Fehlermeldungen
HTML-Tags. Die HTML-Fehlermeldungen sind anklickbar und verweisen auf
die jeweilige Seite, auf der der Fehler oder die Funktion, die den
Fehler verursacht hat, beschrieben wird. Diese Verweise werden durch
<link linkend="ini.docref-root">docref_root</link> und
<link linkend="ini.docref-ext">docref_ext</link> beeinflusst.
</para>
<para>
Ist diese Option deaktiviert, werden Fehlermeldungen nur als reiner Text
angezeigt.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-errors">
<term>
<parameter>xmlrpc_errors</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wenn diese Option aktiviert ist, wird die normale Fehlerberichterstattung
deaktiviert und Fehler werden als XML-RPC-Fehlermeldungen formatiert.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-error-number">
<term>
<parameter>xmlrpc_error_number</parameter>
<type>int</type>
</term>
<listitem>
<para>
Wird als Wert für das XML-RPC-Element faultCode verwendet.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-root">
<term>
<parameter>docref_root</parameter>
<type>string</type>
</term>
<listitem>
<para>
Das neue Format für Fehlermeldungen enthält einen Verweis auf eine
Seite, die den Fehler oder die Funktion, die den Fehler verursacht hat,
beschreibt. Im Falle von Handbuchseiten kann das Handbuch in der
gewünschten Sprache heruntergeladen und diese ini-Direktive auf die URL
der lokalen Kopie gesetzt werden. Wenn die lokale Kopie des Handbuchs
beispielsweise über <literal>"/manual/"</literal> erreichbar ist, kann
einfach <userinput>docref_root=/manual/</userinput> verwendet werden.
Darüber hinaus muss die Direktive docref_ext den Dateierweiterungen der
Kopie entsprechend gesetzt werden:
<userinput>docref_ext=.html</userinput>. Es ist auch möglich, externe
Verweise zu verwenden, &zb;
<userinput>docref_root=http://manual/en/</userinput> oder
<userinput>docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon&url=http%3A%2F%2Fwww.php.net%2F"</userinput>.
</para>
<para>
In den meisten Fällen sollte der Wert von docref_root mit einem
Schrägstrich <literal>"/"</literal> enden. Wie das zweite Beispiel oben
zeigt, ist dies jedoch nicht zwingend notwendig.
</para>
<note>
<para>
Dieses Feature ist als Hilfe bei der Entwicklung gedacht, da es das
Nachschlagen einer Funktionsbeschreibung erleichtert. Es sollte jedoch
niemals auf Produktionssystemen verwendet werden (&zb; auf Systemen,
die mit dem Internet verbunden sind).
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-ext">
<term>
<parameter>docref_ext</parameter>
<type>string</type>
</term>
<listitem>
<para>
Siehe <link linkend="ini.docref-root">docref_root</link>.
</para>
<note>
<para>
Der Wert von docref_ext muss mit einem Punkt <literal>"."</literal>
beginnen.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-prepend-string">
<term>
<parameter>error_prepend_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
Eine Zeichenkette, die vor einer Fehlermeldung ausgegeben wird; wird nur
verwendet, wenn die Fehlermeldung auf dem Bildschirm angezeigt wird. Der
Hauptzweck besteht darin, der Fehlermeldung zusätzliches HTML-Markup
voranstellen zu können.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-append-string">
<term>
<parameter>error_append_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
Eine Zeichenkette, die nach einer Fehlermeldung ausgegeben wird; wird nur
verwendet, wenn die Fehlermeldung auf dem Bildschirm angezeigt wird. Der
Hauptzweck besteht darin, zusätzliches HTML-Markup an die Fehlermeldung
anhängen zu können.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-log">
<term>
<parameter>error_log</parameter>
<type>string</type>
</term>
<listitem>
<para>
Der Name der Datei, in der Skriptfehler protokolliert werden sollen. Die
Datei muss für den Benutzer des Webservers beschreibbar sein. Wenn der
spezielle Wert <literal>syslog</literal> verwendet wird, werden die
Fehler stattdessen an den Systemlogger gesendet. Unter Unix ist dies
syslog(3) und unter Windows das Ereignisprotokoll. Siehe auch
<function>syslog</function>. Wenn diese Direktive nicht gesetzt ist,
werden Fehler an den SAPI-Fehlerlogger gesendet. Beim Apache ist das
&zb; ein Fehlerprotokoll und beim CLI ist es <literal>stderr</literal>.
Siehe auch <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>
Der Dateimodus (Berechtigungen) für die in
<link linkend="ini.error-log">error_log</link> beschriebene Datei.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.facility">
<term>
<parameter>syslog.facility</parameter>
<type>string</type>
</term>
<listitem>
<para>
Gibt an, welche Art von Programm die Meldung protokolliert; nur wirksam,
wenn <link linkend="ini.error-log">error_log</link> auf "syslog" gesetzt
ist.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.filter">
<term>
<parameter>syslog.filter</parameter>
<type>string</type>
</term>
<listitem>
<para>
Gibt den Filtertyp an, mit dem die protokollierten Nachrichten gefiltert
werden sollen. Erlaubte Zeichen werden unverändert weitergegeben; alle
anderen werden in ihrer hexadezimalen Darstellung mit dem Präfix
<literal>\x</literal> geschrieben.
<itemizedlist>
<listitem>
<simpara>
<literal>all</literal> – die protokollierte Zeichenkette wird an
Zeilenumbrüchen geteilt und alle Zeichen werden unverändert übgegeben
</simpara>
</listitem>
<listitem>
<simpara>
<literal>ascii</literal> – die protokollierte Zeichenkette wird an
Zeilenumbrüchen geteilt und alle nicht druckbaren 7-Bit-ASCII-Zeichen
werden maskiert
</simpara>
</listitem>
<listitem>
<simpara>
<literal>no-ctrl</literal> – die protokollierte Zeichenkette wird an
Zeilenumbrüchen aufgeteilt und alle nicht druckbaren Zeichen werden
maskiert
</simpara>
</listitem>
<listitem>
<simpara>
<literal>raw</literal> – alle Zeichen werden unverändert und ohne
Zeilenumbruch an den Systemlogger übergeben (entspricht dem Verhalten
vor PHP 7.3)
</simpara>
</listitem>
</itemizedlist>
Diese Einstellung ist nur relevant, wenn
<link linkend="ini.error-log">error_log</link> auf "syslog" gesetzt ist
und wenn <function>syslog</function> aufgerufen wird.
</para>
<note>
<para>
Der Filtertyp <literal>raw</literal> ist seit PHP 7.3.8 und PHP 7.4.0
verfügbar.
</para>
</note>
<simpara>
Diese Direktive wird unter Windows nicht unterstützt.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.syslog.ident">
<term>
<parameter>syslog.ident</parameter>
<type>string</type>
</term>
<listitem>
<para>
Gibt die Zeichenkette für die Identifizierung an, die jeder Meldung
vorangestellt wird; nur relevant, wenn
<link linkend="ini.error-log">error_log</link> auf "syslog" gesetzt ist.
</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
-->