appendices/ini.core.xml
a1ab750f296de54d79fe3749d5c9164b0593d803
a1ab750f296de54d79fe3749d5c9164b0593d803
...
...
@@ -15,35 +15,6 @@
15
15
The defaults listed here are used when &php.ini; is not loaded; the values for the production and development &php.ini; may vary.
16
16
</para>
17
17
</note>
18
-
<section xml:id="ini.sect.httpd-options">
19
-
<title>Httpd Options</title>
20
-
<para>
21
-
<table>
22
-
<title>Httpd Options</title>
23
-
<tgroup cols="4">
24
-
<thead>
25
-
<row>
26
-
<entry>&Name;</entry>
27
-
<entry>&Default;</entry>
28
-
<entry>&Changeable;</entry>
29
-
<entry>&Changelog;</entry>
30
-
</row>
31
-
</thead>
32
-
<tbody>
33
-
<row>
34
-
<entry>async_send</entry>
35
-
<entry>"0"</entry>
36
-
<entry>PHP_INI_ALL</entry>
37
-
<entry>Available since PHP 4.2.0. Removed in PHP 4.3.0.</entry>
38
-
</row>
39
-
</tbody>
40
-
</tgroup>
41
-
</table>
42
-
</para>
43
-
<para>
44
-
</para>
45
-
</section>
46
-
47
18
<section xml:id="ini.sect.language-options">
48
19
<title>Language Options</title>
49
20
<para>
...
...
@@ -62,56 +33,40 @@
62
33
<row>
63
34
<entry><link linkend="ini.short-open-tag">short_open_tag</link></entry>
64
35
<entry>"1"</entry>
65
-
<entry>PHP_INI_PERDIR</entry>
66
-
<entry>PHP_INI_ALL in PHP 4.0.0. PHP_INI_PERDIR in PHP >= 4.0.1.</entry>
67
-
</row>
68
-
<row>
69
-
<entry><link linkend="ini.asp-tags">asp_tags</link></entry>
70
-
<entry>"0"</entry>
71
-
<entry>PHP_INI_PERDIR</entry>
72
-
<entry>PHP_INI_ALL in PHP 4.0.0. Removed in PHP 7.0.0.</entry>
36
+
<entry><constant>INI_PERDIR</constant></entry>
37
+
<entry></entry>
73
38
</row>
74
39
<row>
75
40
<entry><link linkend="ini.precision">precision</link></entry>
76
41
<entry>"14"</entry>
77
-
<entry>PHP_INI_ALL</entry>
42
+
<entry><constant>INI_ALL</constant></entry>
78
43
<entry></entry>
79
44
</row>
80
45
<row>
81
46
<entry><link linkend="ini.serialize-precision">serialize_precision</link></entry>
82
-
<entry>"17"</entry>
83
-
<entry>PHP_INI_ALL</entry>
84
-
<entry>Available since PHP 4.3.2. Until PHP 5.3.5, the default value was 100.</entry>
85
-
</row>
86
-
<row>
87
-
<entry><link linkend="ini.y2k-compliance">y2k_compliance</link></entry>
88
-
<entry>"1"</entry>
89
-
<entry>PHP_INI_ALL</entry>
90
-
<entry>Removed in PHP 5.4.0.</entry>
91
-
</row>
92
-
<row>
93
-
<entry><link linkend="ini.allow-call-time-pass-reference">allow_call_time_pass_reference</link></entry>
94
-
<entry>"1"</entry>
95
-
<entry>PHP_INI_PERDIR</entry>
96
-
<entry>PHP_INI_ALL in PHP 4.0.0. Removed in PHP 5.4.0.</entry>
47
+
<entry>"-1"</entry>
48
+
<entry><constant>INI_ALL</constant></entry>
49
+
<entry>
50
+
Prior to PHP 7.1.0, the default value was 17.
51
+
</entry>
97
52
</row>
98
53
<row>
99
54
<entry><link linkend="ini.disable-functions">disable_functions</link></entry>
100
55
<entry>""</entry>
101
-
<entry>PHP_INI_SYSTEM only</entry>
102
-
<entry>Available since PHP 4.0.1.</entry>
56
+
<entry><constant>INI_SYSTEM</constant> only</entry>
57
+
<entry></entry>
103
58
</row>
104
59
<row>
105
60
<entry><link linkend="ini.disable-classes">disable_classes</link></entry>
106
61
<entry>""</entry>
107
62
<entry>&php.ini; only</entry>
108
-
<entry>Available since PHP 4.3.2.</entry>
63
+
<entry></entry>
109
64
</row>
110
65
<row>
111
66
<entry><link linkend="ini.exit-on-timeout">exit_on_timeout</link></entry>
112
67
<entry>""</entry>
113
-
<entry>PHP_INI_ALL</entry>
114
-
<entry>Available since PHP 5.3.0.</entry>
68
+
<entry><constant>INI_ALL</constant></entry>
69
+
<entry></entry>
115
70
</row>
116
71
<row>
117
72
<entry><link linkend="ini.expose-php">expose_php</link></entry>
...
...
@@ -119,47 +74,53 @@
119
74
<entry>&php.ini; only</entry>
120
75
<entry></entry>
121
76
</row>
77
+
<row>
78
+
<entry><link linkend="ini.hard-timeout">hard_timeout</link></entry>
79
+
<entry>"2"</entry>
80
+
<entry><constant>INI_SYSTEM</constant></entry>
81
+
<entry>Available as of PHP 7.1.0.</entry>
82
+
</row>
83
+
<row>
84
+
<entry><link linkend="ini.zend.exception-ignore-args">zend.exception_ignore_args</link></entry>
85
+
<entry>"0"</entry>
86
+
<entry><constant>INI_ALL</constant></entry>
87
+
<entry>Available as of PHP 7.4.0</entry>
88
+
</row>
122
89
<row>
123
90
<entry><link linkend="ini.zend.multibyte">zend.multibyte</link></entry>
124
91
<entry>"0"</entry>
125
-
<entry>PHP_INI_ALL</entry>
126
-
<entry>Available since PHP 5.4.0</entry>
92
+
<entry><constant>INI_ALL</constant></entry>
93
+
<entry></entry>
127
94
</row>
128
95
<row>
129
96
<entry><link linkend="ini.zend.script-encoding">zend.script_encoding</link></entry>
130
97
<entry>NULL</entry>
131
-
<entry>PHP_INI_ALL</entry>
132
-
<entry>Available since PHP 5.4.0</entry>
98
+
<entry><constant>INI_ALL</constant></entry>
99
+
<entry></entry>
133
100
</row>
134
101
<row>
135
-
<entry><link linkend="ini.zend.detect-unicode">zend.detect-unicode</link></entry>
102
+
<entry><link linkend="ini.zend.detect-unicode">zend.detect_unicode</link></entry>
136
103
<entry>NULL</entry>
137
-
<entry>PHP_INI_ALL</entry>
138
-
<entry>Available since PHP 5.4.0</entry>
104
+
<entry><constant>INI_ALL</constant></entry>
105
+
<entry></entry>
139
106
</row>
140
107
<row>
141
108
<entry><link linkend="ini.zend.signal-check">zend.signal_check</link></entry>
142
109
<entry>"0"</entry>
143
-
<entry>PHP_INI_SYSTEM</entry>
144
-
<entry>Available since PHP 5.4.0</entry>
110
+
<entry><constant>INI_SYSTEM</constant></entry>
111
+
<entry></entry>
145
112
</row>
146
113
<row>
147
114
<entry><link linkend="ini.zend.assertions">zend.assertions</link></entry>
148
115
<entry>"1"</entry>
149
-
<entry>PHP_INI_ALL</entry>
150
-
<entry>Available since PHP 7.0.0.</entry>
151
-
</row>
152
-
<row>
153
-
<entry><link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link></entry>
154
-
<entry>"0"</entry>
155
-
<entry>PHP_INI_ALL</entry>
156
-
<entry>Available since PHP 5.0.0. Removed in PHP 5.3.0</entry>
116
+
<entry><constant>INI_ALL</constant> with restrictions</entry>
117
+
<entry></entry>
157
118
</row>
158
119
<row>
159
-
<entry>detect_unicode</entry>
160
-
<entry>"1"</entry>
161
-
<entry>PHP_INI_ALL</entry>
162
-
<entry>Available since PHP 5.1.0. Renamed to <link linkend="ini.zend.detect-unicode">zend.detect-unicode</link> from PHP 5.4.0.</entry>
120
+
<entry><link linkend="ini.zend.exception-string-param-max-len">zend.exception_string_param_max_len</link></entry>
121
+
<entry>"15"</entry>
122
+
<entry><constant>INI_ALL</constant></entry>
123
+
<entry>Available as of PHP 8.0.0.</entry>
163
124
</row>
164
125
</tbody>
165
126
</tgroup>
...
...
@@ -173,7 +134,7 @@
173
134
<varlistentry xml:id="ini.short-open-tag">
174
135
<term>
175
136
<parameter>short_open_tag</parameter>
176
-
<type>boolean</type>
137
+
<type>bool</type>
177
138
</term>
178
139
<listitem>
179
140
<para>
...
...
@@ -187,62 +148,23 @@
187
148
</para>
188
149
<note>
189
150
<para>
190
-
This directive also affected the shorthand
191
-
<userinput><?=</userinput> before PHP 5.4.0,
192
-
which is identical to <userinput><? echo</userinput>. Use of this
193
-
shortcut required <systemitem role="directive">short_open_tag</systemitem>
194
-
to be on.
195
-
Since PHP 5.4.0, <userinput><?=</userinput> is always available.
151
+
This directive does not affect the shorthand
152
+
<userinput><?=</userinput>, which is always available.
196
153
</para>
197
154
</note>
198
155
</listitem>
199
156
</varlistentry>
200
157
201
-
<varlistentry xml:id="ini.asp-tags">
202
-
<term>
203
-
<parameter>asp_tags</parameter>
204
-
<type>boolean</type>
205
-
</term>
206
-
<listitem>
207
-
<simpara>
208
-
Enables the use of ASP-like <% %> tags in addition to
209
-
the usual <?php ?> tags. This includes the
210
-
variable-value printing shorthand of <%= $value %>. For
211
-
more information, see <link
212
-
linkend="language.basic-syntax.phpmode">Escaping from HTML</link>.
213
-
</simpara>
214
-
<para>
215
-
<table>
216
-
<title>Changelog for <literal>asp_tags</literal></title>
217
-
<tgroup cols="2">
218
-
<thead>
219
-
<row>
220
-
<entry>&Version;</entry>
221
-
<entry>&Description;</entry>
222
-
</row>
223
-
</thead>
224
-
<tbody>
225
-
<row>
226
-
<entry>7.0.0</entry>
227
-
<entry>
228
-
Removed from PHP.
229
-
</entry>
230
-
</row>
231
-
</tbody>
232
-
</tgroup>
233
-
</table>
234
-
</para>
235
-
</listitem>
236
-
</varlistentry>
237
-
238
158
<varlistentry xml:id="ini.precision">
239
159
<term>
240
160
<parameter>precision</parameter>
241
-
<type>integer</type>
161
+
<type>int</type>
242
162
</term>
243
163
<listitem>
244
164
<simpara>
245
165
The number of significant digits displayed in floating point numbers.
166
+
<literal>-1</literal> means that an enhanced algorithm for rounding
167
+
such numbers will be used.
246
168
</simpara>
247
169
</listitem>
248
170
</varlistentry>
...
...
@@ -250,114 +172,26 @@
250
172
<varlistentry xml:id="ini.serialize-precision">
251
173
<term>
252
174
<parameter>serialize_precision</parameter>
253
-
<type>integer</type>
175
+
<type>int</type>
254
176
</term>
255
177
<listitem>
256
178
<simpara>
257
179
The number of significant digits stored while serializing floating point numbers.
258
-
</simpara>
259
-
</listitem>
260
-
</varlistentry>
261
-
262
-
<varlistentry xml:id="ini.y2k-compliance">
263
-
<term>
264
-
<parameter>y2k_compliance</parameter>
265
-
<type>boolean</type>
266
-
</term>
267
-
<listitem>
268
-
<simpara>
269
-
Enforce year 2000 compliance (will cause problems with non-compliant browsers)
270
-
</simpara>
271
-
</listitem>
272
-
</varlistentry>
273
-
274
-
275
-
<varlistentry xml:id="ini.allow-call-time-pass-reference">
276
-
<term>
277
-
<parameter>allow_call_time_pass_reference</parameter>
278
-
<type>boolean</type>
279
-
</term>
280
-
<listitem>
281
-
<para>
282
-
Whether to warn when arguments are passed by reference at function call time.
283
-
The encouraged method of specifying which arguments should be passed by
284
-
reference is in the function declaration. You're encouraged to try and turn
285
-
this option Off and make sure your scripts work properly with it in order to
286
-
ensure they will work with future versions of the language (you will receive
287
-
a warning each time you use this feature).
288
-
</para>
289
-
<para>
290
-
Passing arguments by reference at function call time was deprecated for
291
-
code-cleanliness reasons. A function can modify its arguments in an
292
-
undocumented way if it didn't declare that the argument shall be passed by
293
-
reference. To prevent side-effects it's better to specify which
294
-
arguments are passed by reference in the function declaration only.
295
-
</para>
296
-
<para>
297
-
See also <link linkend="language.references">References Explained</link>.
298
-
</para>
299
-
<para>
300
-
<table>
301
-
<title>Changelog for <literal>allow_call_time_pass_reference</literal></title>
302
-
<tgroup cols="2">
303
-
<thead>
304
-
<row>
305
-
<entry>&Version;</entry>
306
-
<entry>&Description;</entry>
307
-
</row>
308
-
</thead>
309
-
<tbody>
310
-
<row>
311
-
<entry>5.4.0</entry>
312
-
<entry>
313
-
Removed from PHP.
314
-
</entry>
315
-
</row>
316
-
<row>
317
-
<entry>5.3.0</entry>
318
-
<entry>
319
-
Emits an <constant>E_DEPRECATED</constant> level error.
320
-
</entry>
321
-
</row>
322
-
<row>
323
-
<entry>5.0.0</entry>
324
-
<entry>
325
-
Deprecated, and generates an <constant>E_COMPILE_WARNING</constant> level error.
326
-
</entry>
327
-
</row>
328
-
</tbody>
329
-
</tgroup>
330
-
</table>
331
-
</para>
180
+
<literal>-1</literal> means that an enhanced algorithm for rounding
181
+
such numbers will be used.
182
+
</simpara>
332
183
</listitem>
333
184
</varlistentry>
334
185
335
186
<varlistentry xml:id="ini.expose-php">
336
187
<term>
337
188
<parameter>expose_php</parameter>
338
-
<type>boolean</type>
189
+
<type>bool</type>
339
190
</term>
340
191
<listitem>
341
192
<para>
342
193
Exposes to the world that PHP is installed on the server, which includes the
343
194
PHP version within the HTTP header (e.g., X-Powered-By: PHP/5.3.7).
344
-
Prior to PHP 5.5.0 the PHP logo guids are also exposed, thus appending them
345
-
to the URL of your PHP script would display the appropriate logo
346
-
(e.g., <link xlink:href="&url.php;?=PHPE9568F34-D428-11d2-A769-00AA001ACF42">&url.php;?=PHPE9568F34-D428-11d2-A769-00AA001ACF42</link>).
347
-
This also affected the output of <function>phpinfo</function>, as when disabled, the PHP logo
348
-
and credits information would not be displayed.
349
-
</para>
350
-
<note>
351
-
<para>
352
-
Since PHP 5.5.0 these guids and the <function>php_logo_guid</function> function
353
-
have been removed from PHP and the guids are replaced with data URIs instead.
354
-
Thus accessing the PHP logo via appending the guid to the URL no longer works.
355
-
Similarly, turning <parameter>expose_php</parameter> off will not affect
356
-
seeing the PHP logo in <function>phpinfo</function>.
357
-
</para>
358
-
</note>
359
-
<para>
360
-
See also <function>php_logo_guid</function> and <function>phpcredits</function>.
361
195
</para>
362
196
</listitem>
363
197
</varlistentry>
...
...
@@ -368,21 +202,24 @@
368
202
<type>string</type>
369
203
</term>
370
204
<listitem>
371
-
<para>
372
-
This directive allows you to disable certain functions for
373
-
<link linkend="security">security</link> reasons. It takes
374
-
on a comma-delimited list of function names. disable_functions
375
-
is not affected by <link linkend="ini.safe-mode">Safe Mode</link>.
376
-
</para>
377
-
<para>
205
+
<simpara>
206
+
This directive allows certain functions to be disabled.
207
+
It takes a comma-delimited list of function names.
208
+
As of PHP 8.0.0, disabling a function removes its definition,
209
+
allowing userland to redefine it.
210
+
Prior to PHP 8.0.0, disabling a function just prevented the function
211
+
from being invoked.
212
+
</simpara>
213
+
<simpara>
378
214
Only <link linkend="functions.internal">internal functions</link> can
379
-
be disabled using this directive. <link linkend="functions.user-defined">User-defined functions</link>
215
+
be disabled using this directive.
216
+
<link linkend="functions.user-defined">User-defined functions</link>
380
217
are unaffected.
381
-
</para>
382
-
<para>
383
-
This directive must be set in &php.ini; For example, you
384
-
cannot set this in &httpd.conf;.
385
-
</para>
218
+
</simpara>
219
+
<simpara>
220
+
This directive must be set in &php.ini;.
221
+
It cannot be set in &httpd.conf;.
222
+
</simpara>
386
223
</listitem>
387
224
</varlistentry>
388
225
...
...
@@ -392,15 +229,18 @@
392
229
<type>string</type>
393
230
</term>
394
231
<listitem>
232
+
<para>
233
+
This directive allows certain classes to be disabled.
234
+
It takes a comma-delimited list of class names.
235
+
Disabling a class just prevents the class's instantiation.
236
+
</para>
237
+
<para>
238
+
Only internal classes can be disabled using this directive.
239
+
User-defined classes are unaffected.
240
+
</para>
395
241
<simpara>
396
-
This directive allows you to disable certain classes for
397
-
<link linkend="security">security</link> reasons. It takes
398
-
on a comma-delimited list of class names. disable_classes
399
-
is not affected by <link linkend="ini.safe-mode">Safe Mode</link>.
400
-
</simpara>
401
-
<simpara>
402
-
This directive must be set in &php.ini; For example, you
403
-
cannot set this in &httpd.conf;.
242
+
This directive must be set in &php.ini;.
243
+
It cannot be set in &httpd.conf;.
404
244
</simpara>
405
245
</listitem>
406
246
</varlistentry>
...
...
@@ -408,7 +248,7 @@
408
248
<varlistentry xml:id="ini.zend.assertions">
409
249
<term>
410
250
<parameter>zend.assertions</parameter>
411
-
<type>integer</type>
251
+
<type>int</type>
412
252
</term>
413
253
<listitem>
414
254
<simpara>
...
...
@@ -416,41 +256,74 @@
416
256
executed (development mode). When set to <literal>0</literal>,
417
257
assertion code will be generated but it will be skipped (not executed)
418
258
at runtime. When set to <literal>-1</literal>, assertion code will not
419
-
be generated, making the assetions zero-cost (production mode).
259
+
be generated, making the assertions zero-cost (production mode).
420
260
</simpara>
261
+
<note>
262
+
<para>
263
+
If a process is started in production mode, <link linkend="ini.zend.assertions">zend.assertions</link>
264
+
cannot be changed at runtime, since the code for assertions was not generated.
265
+
</para>
266
+
<para>
267
+
If a process is started in development mode, <link linkend="ini.zend.assertions">zend.assertions</link>
268
+
cannot be set to <literal>-1</literal> at runtime.
269
+
</para>
270
+
</note>
421
271
</listitem>
422
272
</varlistentry>
423
273
424
-
<varlistentry xml:id="ini.zend.ze1-compatibility-mode">
274
+
<varlistentry xml:id="ini.zend.exception-string-param-max-len">
425
275
<term>
426
-
<parameter>zend.ze1_compatibility_mode</parameter>
427
-
<type>boolean</type>
276
+
<parameter>zend.exception_string_param_max_len</parameter>
277
+
<type>int</type>
278
+
</term>
279
+
<listitem>
280
+
<simpara>
281
+
The maximum length of string function arguments in stringified stack traces.
282
+
Must range between <literal>"0"</literal> and <literal>"1000000"</literal>.
283
+
</simpara>
284
+
</listitem>
285
+
</varlistentry>
286
+
287
+
<varlistentry xml:id="ini.hard-timeout">
288
+
<term>
289
+
<parameter>hard_timeout</parameter>
290
+
<type>int</type>
428
291
</term>
429
292
<listitem>
430
293
<para>
431
-
Enable compatibility mode with Zend Engine 1 (PHP 4). It affects
432
-
the cloning, casting (objects with no properties cast to &false; or 0), and <link
433
-
linkend="language.oop5.object-comparison">comparing of objects</link>.
434
-
In this mode, objects are passed by value instead of reference by
435
-
default.
294
+
When the timeout set in <link linkend="ini.max-execution-time">max_execution_time</link>
295
+
has been hit, the PHP runtime will tear down resources gracefully. If
296
+
something gets stuck while this happens, the hard timeout will tick
297
+
for the set amount of seconds. When the hard timeout is hit, PHP will
298
+
exit ungracefully. When set to 0, the hard timeout will never activate.
436
299
</para>
437
300
<para>
438
-
See also the section titled
439
-
<link linkend="migration5">Migrating from PHP 4 to PHP 5</link>.
301
+
When PHP stops from a hard timeout, it will look something like this:
302
+
<screen>
303
+
<![CDATA[
304
+
Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unknown on line 0
305
+
]]>
306
+
</screen>
440
307
</para>
441
-
<warning>
442
-
<simpara>This feature has been <emphasis>DEPRECATED</emphasis> and <emphasis>REMOVED</emphasis>
443
-
as of PHP 5.3.0.
444
-
</simpara>
445
-
</warning>
308
+
</listitem>
309
+
</varlistentry>
446
310
311
+
<varlistentry xml:id="ini.zend.exception-ignore-args">
312
+
<term>
313
+
<parameter>zend.exception_ignore_args</parameter>
314
+
<type>bool</type>
315
+
</term>
316
+
<listitem>
317
+
<para>
318
+
Excludes arguments from stack traces generated from exceptions.
319
+
</para>
447
320
</listitem>
448
321
</varlistentry>
449
322
450
323
<varlistentry xml:id="ini.zend.multibyte">
451
324
<term>
452
325
<parameter>zend.multibyte</parameter>
453
-
<type>boolean</type>
326
+
<type>bool</type>
454
327
</term>
455
328
<listitem>
456
329
<para>
...
...
@@ -478,7 +351,7 @@
478
351
is used, both zend.multibyte and zend.script_encoding must be used.
479
352
</para>
480
353
<para>
481
-
Literal strings will be transliterated from zend.script_enconding to
354
+
Literal strings will be transliterated from zend.script_encoding to
482
355
mbstring.internal_encoding, as if
483
356
<function>mb_convert_encoding</function> would have been called.
484
357
</para>
...
...
@@ -488,7 +361,7 @@
488
361
<varlistentry xml:id="ini.zend.detect-unicode">
489
362
<term>
490
363
<parameter>zend.detect_unicode</parameter>
491
-
<type>boolean</type>
364
+
<type>bool</type>
492
365
</term>
493
366
<listitem>
494
367
<para>
...
...
@@ -504,7 +377,7 @@
504
377
<varlistentry xml:id="ini.zend.signal-check">
505
378
<term>
506
379
<parameter>zend.signal_check</parameter>
507
-
<type>boolean</type>
380
+
<type>bool</type>
508
381
</term>
509
382
<listitem>
510
383
<para>
...
...
@@ -516,7 +389,7 @@
516
389
<varlistentry xml:id="ini.exit-on-timeout">
517
390
<term>
518
391
<parameter>exit_on_timeout</parameter>
519
-
<type>boolean</type>
392
+
<type>bool</type>
520
393
</term>
521
394
<listitem>
522
395
<para>
...
...
@@ -549,8 +422,8 @@
549
422
<row>
550
423
<entry><link linkend="ini.memory-limit">memory_limit</link></entry>
551
424
<entry>"128M"</entry>
552
-
<entry>PHP_INI_ALL</entry>
553
-
<entry>"8M" before PHP 5.2.0, "16M" in PHP 5.2.0</entry>
425
+
<entry><constant>INI_ALL</constant></entry>
426
+
<entry></entry>
554
427
</row>
555
428
</tbody>
556
429
</tgroup>
...
...
@@ -564,7 +437,7 @@
564
437
<varlistentry xml:id="ini.memory-limit">
565
438
<term>
566
439
<parameter>memory_limit</parameter>
567
-
<type>integer</type>
440
+
<type>int</type>
568
441
</term>
569
442
<listitem>
570
443
<para>
...
...
@@ -573,14 +446,6 @@
573
446
scripts for eating up all available memory on a server. Note that
574
447
to have no memory limit, set this directive to <literal>-1</literal>.
575
448
</para>
576
-
<para>
577
-
Prior to PHP 5.2.1, in order to use this directive it had to
578
-
be enabled at compile time by using
579
-
<option role="configure">--enable-memory-limit</option> in the
580
-
configure line. This compile-time flag was also required to define
581
-
the functions <function>memory_get_usage</function> and
582
-
<function>memory_get_peak_usage</function> prior to 5.2.1.
583
-
</para>
584
449
585
450
&ini.shorthandbytes;
586
451
...
...
@@ -610,19 +475,25 @@
610
475
<tbody>
611
476
<row>
612
477
<entry><link linkend="ini.realpath-cache-size">realpath_cache_size</link></entry>
613
-
<entry>"16K"</entry>
614
-
<entry>PHP_INI_SYSTEM</entry>
615
-
<entry>Available since PHP 5.1.0.</entry>
478
+
<entry>"4M"</entry>
479
+
<entry><constant>INI_SYSTEM</constant></entry>
480
+
<entry>Prior to PHP 7.0.16 and 7.1.2, the default was <literal>"16K"</literal></entry>
616
481
</row>
617
482
<row>
618
483
<entry><link linkend="ini.realpath-cache-ttl">realpath_cache_ttl</link></entry>
619
484
<entry>"120"</entry>
620
-
<entry>PHP_INI_SYSTEM</entry>
621
-
<entry>Available since PHP 5.1.0.</entry>
485
+
<entry><constant>INI_SYSTEM</constant></entry>
486
+
<entry></entry>
622
487
</row>
623
488
</tbody>
624
489
</tgroup>
625
490
</table>
491
+
<note>
492
+
<para>
493
+
Using <link linkend="ini.open-basedir">open_basedir</link> will
494
+
<emphasis>disable</emphasis> the realpath cache.
495
+
</para>
496
+
</note>
626
497
</para>
627
498
&ini.descriptions.title;
628
499
<para>
...
...
@@ -630,7 +501,7 @@
630
501
<varlistentry xml:id="ini.realpath-cache-size">
631
502
<term>
632
503
<parameter>realpath_cache_size</parameter>
633
-
<type>integer</type>
504
+
<type>int</type>
634
505
</term>
635
506
<listitem>
636
507
<para>
...
...
@@ -653,7 +524,7 @@
653
524
<varlistentry xml:id="ini.realpath-cache-ttl">
654
525
<term>
655
526
<parameter>realpath_cache_ttl</parameter>
656
-
<type>integer</type>
527
+
<type>int</type>
657
528
</term>
658
529
<listitem>
659
530
<para>
...
...
@@ -685,92 +556,92 @@
685
556
<row>
686
557
<entry><link linkend="ini.arg-separator.output">arg_separator.output</link></entry>
687
558
<entry>"&"</entry>
688
-
<entry>PHP_INI_ALL</entry>
689
-
<entry>Available since PHP 4.0.5.</entry>
559
+
<entry><constant>INI_ALL</constant></entry>
560
+
<entry></entry>
690
561
</row>
691
562
<row>
692
563
<entry><link linkend="ini.arg-separator.input">arg_separator.input</link></entry>
693
564
<entry>"&"</entry>
694
-
<entry>PHP_INI_PERDIR</entry>
695
-
<entry>Available since PHP 4.0.5.</entry>
565
+
<entry><constant>INI_PERDIR</constant></entry>
566
+
<entry></entry>
696
567
</row>
697
568
<row>
698
569
<entry><link linkend="ini.variables-order">variables_order</link></entry>
699
570
<entry>"EGPCS"</entry>
700
-
<entry>PHP_INI_PERDIR</entry>
701
-
<entry>PHP_INI_ALL in PHP <= 5.0.5.</entry>
571
+
<entry><constant>INI_PERDIR</constant></entry>
572
+
<entry></entry>
702
573
</row>
703
574
<row>
704
575
<entry><link linkend="ini.request-order">request_order</link></entry>
705
576
<entry>""</entry>
706
-
<entry>PHP_INI_PERDIR</entry>
707
-
<entry>Available since PHP 5.3.0</entry>
577
+
<entry><constant>INI_PERDIR</constant></entry>
578
+
<entry></entry>
708
579
</row>
709
580
<row>
710
581
<entry><link linkend="ini.auto-globals-jit">auto_globals_jit</link></entry>
711
582
<entry>"1"</entry>
712
-
<entry>PHP_INI_PERDIR</entry>
713
-
<entry>Available since PHP 5.0.0.</entry>
714
-
</row>
715
-
<row>
716
-
<entry><link linkend="ini.register-globals">register_globals</link></entry>
717
-
<entry>"0"</entry>
718
-
<entry>PHP_INI_PERDIR</entry>
719
-
<entry>PHP_INI_ALL in PHP <= 4.2.3. Removed in PHP 5.4.0.</entry>
583
+
<entry><constant>INI_PERDIR</constant></entry>
584
+
<entry></entry>
720
585
</row>
721
586
<row>
722
587
<entry><link linkend="ini.register-argc-argv">register_argc_argv</link></entry>
723
588
<entry>"1"</entry>
724
-
<entry>PHP_INI_PERDIR</entry>
725
-
<entry>PHP_INI_ALL in PHP <= 4.2.3.</entry>
726
-
</row>
727
-
<row>
728
-
<entry><link linkend="ini.register-long-arrays">register_long_arrays</link></entry>
729
-
<entry>"1"</entry>
730
-
<entry>PHP_INI_PERDIR</entry>
731
-
<entry>Available since PHP 5.0.0. Deprecated in PHP 5.3.0. Removed in PHP 5.4.0.</entry>
589
+
<entry><constant>INI_PERDIR</constant></entry>
590
+
<entry></entry>
732
591
</row>
733
592
<row>
734
593
<entry><link linkend="ini.enable-post-data-reading">enable_post_data_reading</link></entry>
735
594
<entry>"1"</entry>
736
-
<entry>PHP_INI_PERDIR</entry>
737
-
<entry>Available since PHP 5.4.0</entry>
595
+
<entry><constant>INI_PERDIR</constant></entry>
596
+
<entry></entry>
738
597
</row>
739
598
<row>
740
599
<entry><link linkend="ini.post-max-size">post_max_size</link></entry>
741
600
<entry>"8M"</entry>
742
-
<entry>PHP_INI_PERDIR</entry>
743
-
<entry>PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.3.</entry>
601
+
<entry><constant>INI_PERDIR</constant></entry>
602
+
<entry></entry>
744
603
</row>
745
604
<row>
746
605
<entry><link linkend="ini.auto-prepend-file">auto_prepend_file</link></entry>
747
606
<entry>NULL</entry>
748
-
<entry>PHP_INI_PERDIR</entry>
749
-
<entry>PHP_INI_ALL in PHP <= 4.2.3.</entry>
607
+
<entry><constant>INI_PERDIR</constant></entry>
608
+
<entry></entry>
750
609
</row>
751
610
<row>
752
611
<entry><link linkend="ini.auto-append-file">auto_append_file</link></entry>
753
612
<entry>NULL</entry>
754
-
<entry>PHP_INI_PERDIR</entry>
755
-
<entry>PHP_INI_ALL in PHP <= 4.2.3.</entry>
613
+
<entry><constant>INI_PERDIR</constant></entry>
614
+
<entry></entry>
756
615
</row>
757
616
<row>
758
617
<entry><link linkend="ini.default-mimetype">default_mimetype</link></entry>
759
618
<entry>"text/html"</entry>
760
-
<entry>PHP_INI_ALL</entry>
619
+
<entry><constant>INI_ALL</constant></entry>
761
620
<entry></entry>
762
621
</row>
763
622
<row>
764
623
<entry><link linkend="ini.default-charset">default_charset</link></entry>
765
624
<entry>"UTF-8"</entry>
766
-
<entry>PHP_INI_ALL</entry>
767
-
<entry>Defaults to "UTF-8" since PHP >= 5.6.0; empty for PHP < 5.6.0.</entry>
625
+
<entry><constant>INI_ALL</constant></entry>
626
+
<entry></entry>
768
627
</row>
769
628
<row>
770
-
<entry><link linkend="ini.always-populate-raw-post-data">always_populate_raw_post_data</link></entry>
771
-
<entry>"0"</entry>
772
-
<entry>PHP_INI_PERDIR</entry>
773
-
<entry>PHP_INI_ALL in PHP <= 4.2.3. Available since PHP 4.1.0. Removed in PHP 7.0.0.</entry>
629
+
<entry><link linkend="ini.input-encoding">input_encoding</link></entry>
630
+
<entry>""</entry>
631
+
<entry><constant>INI_ALL</constant></entry>
632
+
<entry></entry>
633
+
</row>
634
+
<row>
635
+
<entry><link linkend="ini.output-encoding">output_encoding</link></entry>
636
+
<entry>""</entry>
637
+
<entry><constant>INI_ALL</constant></entry>
638
+
<entry></entry>
639
+
</row>
640
+
<row>
641
+
<entry><link linkend="ini.internal-encoding">internal_encoding</link></entry>
642
+
<entry>""</entry>
643
+
<entry><constant>INI_ALL</constant></entry>
644
+
<entry></entry>
774
645
</row>
775
646
</tbody>
776
647
</tgroup>
...
...
@@ -828,21 +699,6 @@
828
699
<varname>$_COOKIE</varname>. Setting to "" means no
829
700
&link.superglobals; will be set.
830
701
</para>
831
-
<para>
832
-
If the deprecated
833
-
<link linkend="ini.register-globals">register_globals</link>
834
-
directive is on, then variables_order also
835
-
configures the order the <literal>ENV</literal>,
836
-
<literal>GET</literal>, <literal>POST</literal>,
837
-
<literal>COOKIE</literal> and <literal>SERVER</literal> variables
838
-
are populated in global scope. So for example if variables_order
839
-
is set to <literal>"EGPCS"</literal>, register_globals is enabled,
840
-
and both <varname>$_GET['action']</varname> and
841
-
<varname>$_POST['action']</varname> are set, then
842
-
<varname>$action</varname> will contain the value of
843
-
<varname>$_POST['action']</varname> as <literal>P</literal> comes
844
-
after <literal>G</literal> in our example directive value.
845
-
</para>
846
702
<warning>
847
703
<para>
848
704
In both the CGI and FastCGI SAPIs,
...
...
@@ -888,27 +744,18 @@
888
744
<varlistentry xml:id="ini.auto-globals-jit">
889
745
<term>
890
746
<parameter>auto_globals_jit</parameter>
891
-
<type>boolean</type>
747
+
<type>bool</type>
892
748
</term>
893
749
<listitem>
894
750
<para>
895
-
When enabled, the SERVER and ENV variables are created when they're
751
+
When enabled, the SERVER, REQUEST, and ENV variables are created when they're
896
752
first used (Just In Time) instead of when the script starts. If these
897
753
variables are not used within a script, having this directive on will
898
754
result in a performance gain.
899
755
</para>
900
-
<para>
901
-
The PHP directives
902
-
<link linkend="ini.register-globals">register_globals</link>,
903
-
<link linkend="ini.register-long-arrays">register_long_arrays</link>,
904
-
and <link linkend="ini.register-argc-argv">register_argc_argv</link>
905
-
must be disabled for this directive to have any affect. Since PHP
906
-
5.1.3 it is not necessary to have <link
907
-
linkend="ini.register-argc-argv">register_argc_argv</link> disabled.
908
-
</para>
909
756
<warning>
910
757
<para>
911
-
Usage of SERVER and ENV variables is checked during the compile time
758
+
Usage of SERVER, REQUEST, and ENV variables is checked during the compile time
912
759
so using them through e.g. <link
913
760
linkend="language.variables.variable">variable variables</link> will
914
761
not cause their initialization.
...
...
@@ -917,47 +764,10 @@
917
764
</listitem>
918
765
</varlistentry>
919
766
920
-
<varlistentry xml:id="ini.register-globals">
921
-
<term>
922
-
<parameter>register_globals</parameter>
923
-
<type>boolean</type>
924
-
</term>
925
-
<listitem>
926
-
<para>
927
-
Whether or not to register the EGPCS (Environment, GET,
928
-
POST, Cookie, Server) variables as global variables.
929
-
</para>
930
-
<para>
931
-
As of <link xlink:href="&url.php.release4.2.0;">PHP 4.2.0</link>,
932
-
this directive defaults to <emphasis>off</emphasis>.
933
-
</para>
934
-
<para>
935
-
Please read the security chapter on
936
-
<link linkend="security.globals">Using register_globals</link>
937
-
for related information.
938
-
</para>
939
-
<para>
940
-
Please note that <systemitem role="directive">register_globals</systemitem>
941
-
cannot be set at runtime (<function>ini_set</function>). Although, you can
942
-
use &htaccess; if your host allows it as described
943
-
above. An example &htaccess; entry:
944
-
<userinput>php_flag register_globals off</userinput>.
945
-
</para>
946
-
<note>
947
-
<para>
948
-
<systemitem role="directive">register_globals</systemitem> is affected
949
-
by the <link linkend="ini.variables-order">variables_order</link>
950
-
directive.
951
-
</para>
952
-
</note>
953
-
&warn.deprecated.feature-5-3-0.removed-5-4-0;
954
-
</listitem>
955
-
</varlistentry>
956
-
957
767
<varlistentry xml:id="ini.register-argc-argv">
958
768
<term>
959
769
<parameter>register_argc_argv</parameter>
960
-
<type>boolean</type>
770
+
<type>bool</type>
961
771
</term>
962
772
<listitem>
963
773
<simpara>
...
...
@@ -970,33 +780,10 @@
970
780
</listitem>
971
781
</varlistentry>
972
782
973
-
<varlistentry xml:id="ini.register-long-arrays">
974
-
<term>
975
-
<parameter>register_long_arrays</parameter>
976
-
<type>boolean</type>
977
-
</term>
978
-
<listitem>
979
-
<simpara>
980
-
Tells PHP whether or not to register the deprecated long
981
-
<varname>$HTTP_*_VARS</varname> type
982
-
<link linkend="language.variables.predefined">predefined
983
-
variables</link>. When On (default), long predefined PHP
984
-
variables like <varname>$HTTP_GET_VARS</varname> will be defined.
985
-
If you're not using them, it's recommended to turn them off,
986
-
for performance reasons. Instead, use the superglobal arrays,
987
-
like <varname>$_GET</varname>.
988
-
</simpara>
989
-
<simpara>
990
-
This directive became available in PHP 5.0.0.
991
-
</simpara>
992
-
&warn.deprecated.feature-5-3-0.removed-5-4-0;
993
-
</listitem>
994
-
</varlistentry>
995
-
996
783
<varlistentry xml:id="ini.enable-post-data-reading">
997
784
<term>
998
785
<parameter>enable_post_data_reading</parameter>
999
-
<type>boolean</type>
786
+
<type>bool</type>
1000
787
</term>
1001
788
<listitem>
1002
789
<simpara>
...
...
@@ -1013,7 +800,7 @@
1013
800
<varlistentry xml:id="ini.post-max-size">
1014
801
<term>
1015
802
<parameter>post_max_size</parameter>
1016
-
<type>integer</type>
803
+
<type>int</type>
1017
804
</term>
1018
805
<listitem>
1019
806
<simpara>
...
...
@@ -1128,8 +915,11 @@
1128
915
</term>
1129
916
<listitem>
1130
917
<para>
1131
-
By default, PHP will output a character encoding using the Content-Type
1132
-
header. To disable sending of the charset, simply set it to be empty.
918
+
By default, PHP will output a media type using the Content-Type header.
919
+
To disable this, simply set it to be empty.
920
+
</para>
921
+
<para>
922
+
PHP's built-in default media type is set to text/html.
1133
923
</para>
1134
924
</listitem>
1135
925
</varlistentry>
...
...
@@ -1141,7 +931,7 @@
1141
931
</term>
1142
932
<listitem>
1143
933
<para>
1144
-
In PHP 5.6 onwards, "UTF-8" is the default value and its value is used
934
+
"UTF-8" is the default value and its value is used
1145
935
as the default character encoding for
1146
936
<function>htmlentities</function>,
1147
937
<function>html_entity_decode</function> and
...
...
@@ -1179,7 +969,7 @@
1179
969
</term>
1180
970
<listitem>
1181
971
<para>
1182
-
Available from PHP 5.6.0. This setting is used for multibyte modules
972
+
This setting is used for multibyte modules
1183
973
such as mbstring and iconv. Default is empty.
1184
974
</para>
1185
975
</listitem>
...
...
@@ -1192,7 +982,7 @@
1192
982
</term>
1193
983
<listitem>
1194
984
<para>
1195
-
Available from PHP 5.6.0. This setting is used for multibyte modules
985
+
This setting is used for multibyte modules
1196
986
such as mbstring and iconv. Default is empty.
1197
987
</para>
1198
988
</listitem>
...
...
@@ -1205,50 +995,15 @@
1205
995
</term>
1206
996
<listitem>
1207
997
<para>
1208
-
Available from PHP 5.6.0. This setting is used for multibyte modules
998
+
This setting is used for multibyte modules
1209
999
such as mbstring and iconv. Default is empty. If empty,
1210
1000
<link linkend="ini.default-charset">default_charset</link> is used.
1211
1001
</para>
1212
1002
</listitem>
1213
1003
</varlistentry>
1214
1004
1215
-
<varlistentry xml:id="ini.always-populate-raw-post-data">
1216
-
<term>
1217
-
<parameter>always_populate_raw_post_data</parameter>
1218
-
<type>mixed</type>
1219
-
</term>
1220
-
<listitem>
1221
-
&warn.deprecated.feature-5-6-0.removed-7-0-0;
1222
-
<para>
1223
-
If set to &true;, PHP will always populate the
1224
-
<varname>$HTTP_RAW_POST_DATA</varname> containing the raw POST data.
1225
-
Otherwise, the variable is populated only when the MIME type of the
1226
-
data is unrecognised.
1227
-
</para>
1228
-
<para>
1229
-
The preferred method for accessing raw POST data is
1230
-
<link linkend="wrappers.php">php://input</link>, and
1231
-
<varname>$HTTP_RAW_POST_DATA</varname> is deprecated in PHP 5.6.0
1232
-
onwards. Setting <parameter>always_populate_raw_post_data</parameter>
1233
-
to <literal>-1</literal> will opt into the new behaviour that will be
1234
-
implemented in a future version of PHP, in which
1235
-
<varname>$HTTP_RAW_POST_DATA</varname> is never defined.
1236
-
</para>
1237
-
<para>
1238
-
Regardless of the setting, <varname>$HTTP_RAW_POST_DATA</varname> is
1239
-
not available with <literal>enctype="multipart/form-data"</literal>.
1240
-
</para>
1241
-
</listitem>
1242
-
</varlistentry>
1243
-
1244
1005
</variablelist>
1245
1006
</para>
1246
-
<para>
1247
-
See also: <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>,
1248
-
<link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link>,
1249
-
and
1250
-
<link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>.
1251
-
</para>
1252
1007
</section>
1253
1008
1254
1009
<section xml:id="ini.sect.path-directory">
...
...
@@ -1269,104 +1024,110 @@
1269
1024
<row>
1270
1025
<entry><link linkend="ini.include-path">include_path</link></entry>
1271
1026
<entry>".;/path/to/php/pear"</entry>
1272
-
<entry>PHP_INI_ALL</entry>
1027
+
<entry><constant>INI_ALL</constant></entry>
1273
1028
<entry></entry>
1274
1029
</row>
1275
1030
<row>
1276
1031
<entry><link linkend="ini.open-basedir">open_basedir</link></entry>
1277
1032
<entry>NULL</entry>
1278
-
<entry>PHP_INI_ALL</entry>
1279
-
<entry>PHP_INI_SYSTEM in PHP < 5.3.0</entry>
1033
+
<entry><constant>INI_ALL</constant></entry>
1034
+
<entry></entry>
1280
1035
</row>
1281
1036
<row>
1282
1037
<entry><link linkend="ini.doc-root">doc_root</link></entry>
1283
1038
<entry>NULL</entry>
1284
-
<entry>PHP_INI_SYSTEM</entry>
1039
+
<entry><constant>INI_SYSTEM</constant></entry>
1285
1040
<entry></entry>
1286
1041
</row>
1287
1042
<row>
1288
1043
<entry><link linkend="ini.user-dir">user_dir</link></entry>
1289
1044
<entry>NULL</entry>
1290
-
<entry>PHP_INI_SYSTEM</entry>
1045
+
<entry><constant>INI_SYSTEM</constant></entry>
1291
1046
<entry></entry>
1292
1047
</row>
1293
1048
<row>
1294
-
<entry><link linkend="ini.extension-dir">extension_dir</link></entry>
1295
-
<entry>"/path/to/php"</entry>
1296
-
<entry>PHP_INI_SYSTEM</entry>
1049
+
<entry><link linkend="ini.user-ini.cache-ttl">user_ini.cache_ttl</link></entry>
1050
+
<entry>"300"</entry>
1051
+
<entry><constant>INI_SYSTEM</constant></entry>
1297
1052
<entry></entry>
1298
1053
</row>
1299
1054
<row>
1300
-
<entry><link linkend="ini.extension">extension</link></entry>
1301
-
<entry>NULL</entry>
1302
-
<entry>&php.ini; only</entry>
1055
+
<entry><link linkend="ini.user-ini.filename">user_ini.filename</link></entry>
1056
+
<entry>".user.ini"</entry>
1057
+
<entry><constant>INI_SYSTEM</constant></entry>
1303
1058
<entry></entry>
1304
1059
</row>
1305
1060
<row>
1306
-
<entry><link linkend="ini.zend-extension">zend_extension</link></entry>
1307
-
<entry>NULL</entry>
1308
-
<entry>&php.ini; only</entry>
1061
+
<entry><link linkend="ini.extension-dir">extension_dir</link></entry>
1062
+
<entry>"/path/to/php"</entry>
1063
+
<entry><constant>INI_SYSTEM</constant></entry>
1309
1064
<entry></entry>
1310
1065
</row>
1311
1066
<row>
1312
-
<entry><link linkend="ini.zend-extension-debug">zend_extension_debug</link></entry>
1313
-
<entry>NULL</entry>
1314
-
<entry>&php.ini; only</entry>
1315
-
<entry>Available before PHP 5.3.0.</entry>
1316
-
</row>
1317
-
<row>
1318
-
<entry><link linkend="ini.zend-extension-debug-ts">zend_extension_debug_ts</link></entry>
1067
+
<entry><link linkend="ini.extension">extension</link></entry>
1319
1068
<entry>NULL</entry>
1320
1069
<entry>&php.ini; only</entry>
1321
-
<entry>Available before PHP 5.3.0.</entry>
1070
+
<entry></entry>
1322
1071
</row>
1323
1072
<row>
1324
-
<entry><link linkend="ini.zend-extension-ts">zend_extension_ts</link></entry>
1073
+
<entry><link linkend="ini.zend-extension">zend_extension</link></entry>
1325
1074
<entry>NULL</entry>
1326
1075
<entry>&php.ini; only</entry>
1327
-
<entry>Available before PHP 5.3.0.</entry>
1076
+
<entry></entry>
1328
1077
</row>
1329
1078
<row>
1330
1079
<entry><link linkend="ini.cgi.check-shebang-line">cgi.check_shebang_line</link></entry>
1331
1080
<entry>"1"</entry>
1332
-
<entry>PHP_INI_SYSTEM</entry>
1333
-
<entry>Available since PHP 5.2.0.</entry>
1081
+
<entry><constant>INI_SYSTEM</constant></entry>
1082
+
<entry></entry>
1083
+
</row>
1084
+
<row>
1085
+
<entry><link linkend="ini.cgi.discard-path">cgi.discard_path</link></entry>
1086
+
<entry>"0"</entry>
1087
+
<entry><constant>INI_SYSTEM</constant></entry>
1088
+
<entry></entry>
1334
1089
</row>
1335
1090
<row>
1336
1091
<entry><link linkend="ini.cgi.fix-pathinfo">cgi.fix_pathinfo</link></entry>
1337
1092
<entry>"1"</entry>
1338
-
<entry>PHP_INI_SYSTEM</entry>
1339
-
<entry>Available since PHP 4.3.0. PHP_INI_ALL prior to PHP 5.2.1.</entry>
1093
+
<entry><constant>INI_SYSTEM</constant></entry>
1094
+
<entry></entry>
1340
1095
</row>
1341
1096
<row>
1342
1097
<entry><link linkend="ini.cgi.force-redirect">cgi.force_redirect</link></entry>
1343
1098
<entry>"1"</entry>
1344
-
<entry>PHP_INI_SYSTEM</entry>
1345
-
<entry>Available since PHP 4.2.0. PHP_INI_ALL prior to PHP 5.2.1.</entry>
1099
+
<entry><constant>INI_SYSTEM</constant></entry>
1100
+
<entry></entry>
1101
+
</row>
1102
+
<row>
1103
+
<entry><link linkend="ini.cgi.nph">cgi.nph</link></entry>
1104
+
<entry>"0"</entry>
1105
+
<entry><constant>INI_SYSTEM</constant></entry>
1106
+
<entry></entry>
1346
1107
</row>
1347
1108
<row>
1348
1109
<entry><link linkend="ini.cgi.redirect-status-env">cgi.redirect_status_env</link></entry>
1349
1110
<entry>NULL</entry>
1350
-
<entry>PHP_INI_SYSTEM</entry>
1351
-
<entry>Available since PHP 4.2.0. PHP_INI_ALL prior to PHP 5.2.1.</entry>
1111
+
<entry><constant>INI_SYSTEM</constant></entry>
1112
+
<entry></entry>
1352
1113
</row>
1353
1114
<row>
1354
1115
<entry><link linkend="ini.cgi.rfc2616-headers">cgi.rfc2616_headers</link></entry>
1355
1116
<entry>"0"</entry>
1356
-
<entry>PHP_INI_ALL</entry>
1357
-
<entry>Available since PHP 4.3.0.</entry>
1117
+
<entry><constant>INI_ALL</constant></entry>
1118
+
<entry></entry>
1358
1119
</row>
1359
1120
<row>
1360
1121
<entry><link linkend="ini.fastcgi.impersonate">fastcgi.impersonate</link></entry>
1361
1122
<entry>"0"</entry>
1362
-
<entry>PHP_INI_SYSTEM</entry>
1363
-
<entry>Available since PHP 4.3.0. PHP_INI_ALL prior to PHP 5.2.1.</entry>
1123
+
<entry><constant>INI_SYSTEM</constant></entry>
1124
+
<entry></entry>
1364
1125
</row>
1365
1126
<row>
1366
1127
<entry><link linkend="ini.fastcgi.logging">fastcgi.logging</link></entry>
1367
1128
<entry>"1"</entry>
1368
-
<entry>PHP_INI_SYSTEM</entry>
1369
-
<entry>Available since PHP 4.3.0. PHP_INI_ALL prior to PHP 5.2.1.</entry>
1129
+
<entry><constant>INI_SYSTEM</constant></entry>
1130
+
<entry></entry>
1370
1131
</row>
1371
1132
</tbody>
1372
1133
</tgroup>
...
...
@@ -1396,9 +1157,9 @@
1396
1157
PHP considers each entry in the include path separately when looking for
1397
1158
files to include. It will check the first path, and if it doesn't find
1398
1159
it, check the next path, until it either locates the included file or
1399
-
returns with a
1400
-
<link linkend="errorfunc.constants.errorlevels.e-warning">warning</link>
1401
-
or an <link linkend="errorfunc.constants.errorlevels.e-error">error</link>.
1160
+
returns with an
1161
+
<constant>E_WARNING</constant>
1162
+
or an <constant>E_ERROR</constant>.
1402
1163
You may modify or set your include path at runtime using
1403
1164
<function>set_include_path</function>.
1404
1165
</para>
...
...
@@ -1461,9 +1222,7 @@ include_path = ".:${USER}/pear/php"
1461
1222
<listitem>
1462
1223
<para>
1463
1224
Limit the files that can be accessed by PHP to the specified
1464
-
directory-tree, including the file itself. This directive
1465
-
is <emphasis>NOT</emphasis> affected by whether Safe Mode is
1466
-
turned On or Off.
1225
+
directory-tree, including the file itself.
1467
1226
</para>
1468
1227
<para>
1469
1228
When a script tries to access the filesystem, for example using
...
...
@@ -1501,27 +1260,39 @@ include_path = ".:${USER}/pear/php"
1501
1260
</para>
1502
1261
<para>
1503
1262
The restriction specified with <option>open_basedir</option> is a
1504
-
directory name since PHP 5.2.16 and 5.3.4. Previous versions used it
1505
-
as a prefix. This means that "<literal>open_basedir
1506
-
= /dir/incl</literal>" also allowed access to "<literal>/dir/include</literal>" and
1507
-
"<literal>/dir/incls</literal>" if they exist. When you want to restrict access
1508
-
to only the specified directory, end with a slash. For example:
1509
-
<literal>open_basedir = /dir/incl/</literal>
1263
+
directory name, not a prefix.
1510
1264
</para>
1511
1265
<para>
1512
1266
The default is to allow all files to be opened.
1513
1267
</para>
1514
1268
<note>
1515
-
<para>
1516
-
As of PHP 5.3.0 open_basedir can be tightened at run-time. This means
1269
+
<simpara>
1270
+
open_basedir can be tightened at run-time. This means
1517
1271
that if open_basedir is set to <literal>/www/</literal> in &php.ini;
1518
1272
a script can tighten the configuration to
1519
1273
<literal>/www/tmp/</literal> at run-time with
1520
1274
<function>ini_set</function>. When listing several directories, you
1521
1275
can use the <constant>PATH_SEPARATOR</constant> constant as a separator
1522
1276
regardless of the operating system.
1277
+
</simpara>
1278
+
<simpara>
1279
+
As of PHP 8.3.0, <option>open_basedir</option> no longer accepts a
1280
+
paths containing the parent directory (<literal>..</literal>) when
1281
+
set at runtime using <function>ini_set</function>.
1282
+
</simpara>
1283
+
</note>
1284
+
<note>
1285
+
<para>
1286
+
Using open_basedir will set <link linkend="ini.realpath-cache-size">realpath_cache_size</link>
1287
+
to <literal>0</literal> and thus <emphasis>disable</emphasis> the realpath cache.
1523
1288
</para>
1524
1289
</note>
1290
+
<caution>
1291
+
<para>
1292
+
<literal>open_basedir</literal> is just an extra safety net, that is in no way
1293
+
comprehensive, and can therefore not be relied upon when security is needed.
1294
+
</para>
1295
+
</caution>
1525
1296
</listitem>
1526
1297
</varlistentry>
1527
1298
...
...
@@ -1533,8 +1304,7 @@ include_path = ".:${USER}/pear/php"
1533
1304
<listitem>
1534
1305
<para>
1535
1306
PHP's "root directory" on the server. Only used if
1536
-
non-empty. If PHP is configured with &safemode;, no files outside
1537
-
this directory are served.
1307
+
non-empty.
1538
1308
If PHP was not compiled with FORCE_REDIRECT, you <emphasis>should
1539
1309
</emphasis> set doc_root if you are running PHP as a CGI under any web
1540
1310
server (other than IIS). The alternative is to use the
...
...
@@ -1544,95 +1314,77 @@ include_path = ".:${USER}/pear/php"
1544
1314
</listitem>
1545
1315
</varlistentry>
1546
1316
1547
-
<varlistentry xml:id="ini.user-dir">
1317
+
<varlistentry xml:id="ini.user-ini.cache-ttl">
1548
1318
<term>
1549
-
<parameter>user_dir</parameter>
1550
-
<type>string</type>
1551
-
</term>
1552
-
<listitem>
1553
-
<para>
1554
-
The base name of the directory used on a user's home directory for PHP
1555
-
files, for example <filename class="directory">public_html
1556
-
</filename>.
1557
-
</para>
1558
-
</listitem>
1559
-
</varlistentry>
1560
-
1561
-
<varlistentry xml:id="ini.extension-dir">
1562
-
<term>
1563
-
<parameter>extension_dir</parameter>
1564
-
<type>string</type>
1319
+
<parameter>user_ini.cache_ttl</parameter>
1320
+
<type>int</type>
1565
1321
</term>
1566
1322
<listitem>
1567
1323
<para>
1568
-
In what directory PHP should look for dynamically loadable
1569
-
extensions. See also: <link linkend="ini.enable-dl">enable_dl</link>,
1570
-
and <function>dl</function>.
1571
1324
</para>
1572
1325
</listitem>
1573
1326
</varlistentry>
1574
1327
1575
-
<varlistentry xml:id="ini.extension">
1328
+
<varlistentry xml:id="ini.user-ini.filename">
1576
1329
<term>
1577
-
<parameter>extension</parameter>
1330
+
<parameter>user_ini.filename</parameter>
1578
1331
<type>string</type>
1579
1332
</term>
1580
1333
<listitem>
1581
1334
<para>
1582
-
Which dynamically loadable extensions to load when PHP starts up.
1583
1335
</para>
1584
1336
</listitem>
1585
1337
</varlistentry>
1586
1338
1587
-
<varlistentry xml:id="ini.zend-extension">
1339
+
<varlistentry xml:id="ini.user-dir">
1588
1340
<term>
1589
-
<parameter>zend_extension</parameter>
1341
+
<parameter>user_dir</parameter>
1590
1342
<type>string</type>
1591
1343
</term>
1592
1344
<listitem>
1593
1345
<para>
1594
-
Name of dynamically loadable Zend extension (for example
1595
-
<link linkend="book.apd">APD</link>) to load when PHP starts up.
1346
+
The base name of the directory used on a user's home directory for PHP
1347
+
files, for example <filename class="directory">public_html
1348
+
</filename>.
1596
1349
</para>
1597
1350
</listitem>
1598
1351
</varlistentry>
1599
1352
1600
-
<varlistentry xml:id="ini.zend-extension-debug">
1353
+
<varlistentry xml:id="ini.extension-dir">
1601
1354
<term>
1602
-
<parameter>zend_extension_debug</parameter>
1355
+
<parameter>extension_dir</parameter>
1603
1356
<type>string</type>
1604
1357
</term>
1605
1358
<listitem>
1606
1359
<para>
1607
-
Variant of <link linkend="ini.zend-extension">zend_extension</link>
1608
-
for extensions compiled with debug info prior to PHP 5.3.0.
1360
+
In what directory PHP should look for dynamically loadable
1361
+
extensions. It is recommended to specify an absolute path. See also: <link linkend="ini.enable-dl">enable_dl</link>,
1362
+
and <function>dl</function>.
1609
1363
</para>
1610
1364
</listitem>
1611
1365
</varlistentry>
1612
1366
1613
-
<varlistentry xml:id="ini.zend-extension-debug-ts">
1367
+
<varlistentry xml:id="ini.extension">
1614
1368
<term>
1615
-
<parameter>zend_extension_debug_ts</parameter>
1369
+
<parameter>extension</parameter>
1616
1370
<type>string</type>
1617
1371
</term>
1618
1372
<listitem>
1619
1373
<para>
1620
-
Variant of <link linkend="ini.zend-extension">zend_extension</link>
1621
-
for extensions compiled with debug info and thread safety prior to PHP
1622
-
5.3.0.
1374
+
Which dynamically loadable extensions to load when PHP starts up.
1623
1375
</para>
1624
1376
</listitem>
1625
1377
</varlistentry>
1626
1378
1627
-
<varlistentry xml:id="ini.zend-extension-ts">
1379
+
<varlistentry xml:id="ini.zend-extension">
1628
1380
<term>
1629
-
<parameter>zend_extension_ts</parameter>
1381
+
<parameter>zend_extension</parameter>
1630
1382
<type>string</type>
1631
1383
</term>
1632
1384
<listitem>
1633
1385
<para>
1634
-
Variant of <link linkend="ini.zend-extension">zend_extension</link>
1635
-
for extensions compiled with thread safety prior to PHP 5.3.0.
1386
+
Name of dynamically loadable Zend extension (for example
1387
+
XDebug) to load when PHP starts up.
1636
1388
</para>
1637
1389
</listitem>
1638
1390
</varlistentry>
...
...
@@ -1640,7 +1392,7 @@ include_path = ".:${USER}/pear/php"
1640
1392
<varlistentry xml:id="ini.cgi.check-shebang-line">
1641
1393
<term>
1642
1394
<parameter>cgi.check_shebang_line</parameter>
1643
-
<type>boolean</type>
1395
+
<type>bool</type>
1644
1396
</term>
1645
1397
<listitem>
1646
1398
<para>
...
...
@@ -1654,10 +1406,23 @@ include_path = ".:${USER}/pear/php"
1654
1406
</listitem>
1655
1407
</varlistentry>
1656
1408
1409
+
<varlistentry xml:id="ini.cgi.discard-path">
1410
+
<term>
1411
+
<parameter>cgi.discard_path</parameter>
1412
+
<type>bool</type>
1413
+
</term>
1414
+
<listitem>
1415
+
<para>
1416
+
If this is enabled, the PHP CGI binary can safely be placed outside of
1417
+
the web tree and people will not be able to circumvent .htaccess security.
1418
+
</para>
1419
+
</listitem>
1420
+
</varlistentry>
1421
+
1657
1422
<varlistentry xml:id="ini.cgi.fix-pathinfo">
1658
1423
<term>
1659
1424
<parameter>cgi.fix_pathinfo</parameter>
1660
-
<type>boolean</type>
1425
+
<type>bool</type>
1661
1426
</term>
1662
1427
<listitem>
1663
1428
<para>
...
...
@@ -1680,7 +1445,7 @@ include_path = ".:${USER}/pear/php"
1680
1445
<varlistentry xml:id="ini.cgi.force-redirect">
1681
1446
<term>
1682
1447
<parameter>cgi.force_redirect</parameter>
1683
-
<type>boolean</type>
1448
+
<type>bool</type>
1684
1449
</term>
1685
1450
<listitem>
1686
1451
<para>
...
...
@@ -1698,6 +1463,19 @@ include_path = ".:${USER}/pear/php"
1698
1463
</listitem>
1699
1464
</varlistentry>
1700
1465
1466
+
<varlistentry xml:id="ini.cgi.nph">
1467
+
<term>
1468
+
<parameter>cgi.nph</parameter>
1469
+
<type>bool</type>
1470
+
</term>
1471
+
<listitem>
1472
+
<para>
1473
+
If cgi.nph is enabled it will force cgi to always sent Status: 200 with
1474
+
every request.
1475
+
</para>
1476
+
</listitem>
1477
+
</varlistentry>
1478
+
1701
1479
<varlistentry xml:id="ini.cgi.redirect-status-env">
1702
1480
<term>
1703
1481
<parameter>cgi.redirect_status_env</parameter>
...
...
@@ -1722,14 +1500,14 @@ include_path = ".:${USER}/pear/php"
1722
1500
<varlistentry xml:id="ini.cgi.rfc2616-headers">
1723
1501
<term>
1724
1502
<parameter>cgi.rfc2616_headers</parameter>
1725
-
<type>int</type>
1503
+
<type>bool</type>
1726
1504
</term>
1727
1505
<listitem>
1728
1506
<para>
1729
1507
Tells PHP what type of headers to use when sending HTTP response
1730
-
code. If it's set to 0, PHP sends a <link xlink:href="&url.rfc;3875">RFC 3875</link>
1508
+
code. If it is disabled, PHP sends a <link xlink:href="&url.rfc;3875">RFC 3875</link>
1731
1509
"Status:" header that is supported by Apache and other web servers. When this option
1732
-
is set to 1, PHP will send <link xlink:href="&url.rfc;2616">RFC 2616</link> compliant
1510
+
is enabled, PHP will send <link xlink:href="&url.rfc;2616">RFC 2616</link> compliant
1733
1511
headers.
1734
1512
</para>
1735
1513
<para>
...
...
@@ -1739,7 +1517,7 @@ include_path = ".:${USER}/pear/php"
1739
1517
you should use header("Status: 404 Not Found");
1740
1518
</para>
1741
1519
<para>
1742
-
Leave it set to 0 unless you know what you're doing.
1520
+
Leave it disabled unless you know what you're doing.
1743
1521
</para>
1744
1522
</listitem>
1745
1523
</varlistentry>
...
...
@@ -1747,7 +1525,7 @@ include_path = ".:${USER}/pear/php"
1747
1525
<varlistentry xml:id="ini.fastcgi.impersonate">
1748
1526
<term>
1749
1527
<parameter>fastcgi.impersonate</parameter>
1750
-
<type>string</type>
1528
+
<type>bool</type>
1751
1529
</term>
1752
1530
<listitem>
1753
1531
<para>
...
...
@@ -1755,7 +1533,7 @@ include_path = ".:${USER}/pear/php"
1755
1533
security tokens of the calling client. This allows IIS to define the
1756
1534
security context that the request runs under. mod_fastcgi under Apache
1757
1535
does not currently support this feature (03/17/2002)
1758
-
Set to 1 if running under IIS. Default is zero.
1536
+
Enable if running under IIS. Default is disabled.
1759
1537
</para>
1760
1538
</listitem>
1761
1539
</varlistentry>
...
...
@@ -1763,7 +1541,7 @@ include_path = ".:${USER}/pear/php"
1763
1541
<varlistentry xml:id="ini.fastcgi.logging">
1764
1542
<term>
1765
1543
<parameter>fastcgi.logging</parameter>
1766
-
<type>boolean</type>
1544
+
<type>bool</type>
1767
1545
</term>
1768
1546
<listitem>
1769
1547
<para>
...
...
@@ -1795,38 +1573,38 @@ include_path = ".:${USER}/pear/php"
1795
1573
<row>
1796
1574
<entry><link linkend="ini.file-uploads">file_uploads</link></entry>
1797
1575
<entry>"1"</entry>
1798
-
<entry>PHP_INI_SYSTEM</entry>
1799
-
<entry>PHP_INI_ALL in PHP <= 4.2.3. Available since PHP 4.0.3.</entry>
1576
+
<entry><constant>INI_SYSTEM</constant></entry>
1577
+
<entry></entry>
1800
1578
</row>
1801
1579
<row>
1802
1580
<entry><link linkend="ini.upload-tmp-dir">upload_tmp_dir</link></entry>
1803
1581
<entry>NULL</entry>
1804
-
<entry>PHP_INI_SYSTEM</entry>
1582
+
<entry><constant>INI_SYSTEM</constant></entry>
1805
1583
<entry></entry>
1806
1584
</row>
1807
1585
<row>
1808
1586
<entry><link linkend="ini.max-input-nesting-level">max_input_nesting_level</link></entry>
1809
1587
<entry>64</entry>
1810
-
<entry>PHP_INI_PERDIR</entry>
1811
-
<entry>Available since PHP 5.3.9.</entry>
1588
+
<entry><constant>INI_PERDIR</constant></entry>
1589
+
<entry></entry>
1812
1590
</row>
1813
1591
<row>
1814
1592
<entry><link linkend="ini.max-input-vars">max_input_vars</link></entry>
1815
1593
<entry>1000</entry>
1816
-
<entry>PHP_INI_PERDIR</entry>
1817
-
<entry>Available since PHP 5.3.9.</entry>
1594
+
<entry><constant>INI_PERDIR</constant></entry>
1595
+
<entry></entry>
1818
1596
</row>
1819
1597
<row>
1820
1598
<entry><link linkend="ini.upload-max-filesize">upload_max_filesize</link></entry>
1821
1599
<entry>"2M"</entry>
1822
-
<entry>PHP_INI_PERDIR</entry>
1823
-
<entry>PHP_INI_ALL in PHP <= 4.2.3.</entry>
1600
+
<entry><constant>INI_PERDIR</constant></entry>
1601
+
<entry></entry>
1824
1602
</row>
1825
1603
<row>
1826
1604
<entry><link linkend="ini.max-file-uploads">max_file_uploads</link></entry>
1827
1605
<entry>20</entry>
1828
-
<entry>PHP_INI_SYSTEM</entry>
1829
-
<entry>Available since PHP 5.2.12.</entry>
1606
+
<entry><constant>INI_PERDIR</constant></entry>
1607
+
<entry></entry>
1830
1608
</row>
1831
1609
</tbody>
1832
1610
</tgroup>
...
...
@@ -1840,7 +1618,7 @@ include_path = ".:${USER}/pear/php"
1840
1618
<varlistentry xml:id="ini.file-uploads">
1841
1619
<term>
1842
1620
<parameter>file_uploads</parameter>
1843
-
<type>boolean</type>
1621
+
<type>bool</type>
1844
1622
</term>
1845
1623
<listitem>
1846
1624
<para>
...
...
@@ -1877,12 +1655,15 @@ include_path = ".:${USER}/pear/php"
1877
1655
<varlistentry xml:id="ini.upload-max-filesize">
1878
1656
<term>
1879
1657
<parameter>upload_max_filesize</parameter>
1880
-
<type>integer</type>
1658
+
<type>int</type>
1881
1659
</term>
1882
1660
<listitem>
1883
1661
<para>
1884
1662
The maximum size of an uploaded file.
1885
1663
</para>
1664
+
<para>
1665
+
<link linkend="ini.post-max-size">post_max_size</link> must be larger than this value.
1666
+
</para>
1886
1667
1887
1668
&ini.shorthandbytes;
1888
1669
...
...
@@ -1892,12 +1673,12 @@ include_path = ".:${USER}/pear/php"
1892
1673
<varlistentry xml:id="ini.max-file-uploads">
1893
1674
<term>
1894
1675
<parameter>max_file_uploads</parameter>
1895
-
<type>integer</type>
1676
+
<type>int</type>
1896
1677
</term>
1897
1678
<listitem>
1898
1679
<para>
1899
1680
The maximum number of files allowed to be uploaded simultaneously.
1900
-
Starting with PHP 5.3.4, upload fields left blank on submission do not
1681
+
Upload fields left blank on submission do not
1901
1682
count towards this limit.
1902
1683
</para>
1903
1684
</listitem>
...
...
@@ -1924,8 +1705,8 @@ include_path = ".:${USER}/pear/php"
1924
1705
<row>
1925
1706
<entry><link linkend="ini.sql.safe-mode">sql.safe_mode</link></entry>
1926
1707
<entry>"0"</entry>
1927
-
<entry>PHP_INI_SYSTEM</entry>
1928
-
<entry></entry>
1708
+
<entry><constant>INI_SYSTEM</constant></entry>
1709
+
<entry>Removed as of PHP 7.2.0</entry>
1929
1710
</row>
1930
1711
</tbody>
1931
1712
</tgroup>
...
...
@@ -1939,7 +1720,7 @@ include_path = ".:${USER}/pear/php"
1939
1720
<varlistentry xml:id="ini.sql.safe-mode">
1940
1721
<term>
1941
1722
<parameter>sql.safe_mode</parameter>
1942
-
<type>boolean</type>
1723
+
<type>bool</type>
1943
1724
</term>
1944
1725
<listitem>
1945
1726
<para>
...
...
@@ -1948,6 +1729,11 @@ include_path = ".:${USER}/pear/php"
1948
1729
on the default values, see the documentation for the relevant connection
1949
1730
functions.
1950
1731
</para>
1732
+
<warning>
1733
+
<simpara>
1734
+
This feature has been <emphasis>REMOVED</emphasis> as of PHP 7.2.0.
1735
+
</simpara>
1736
+
</warning>
1951
1737
</listitem>
1952
1738
</varlistentry>
1953
1739
</variablelist>
...
...
@@ -1970,10 +1756,10 @@ include_path = ".:${USER}/pear/php"
1970
1756
</thead>
1971
1757
<tbody>
1972
1758
<row>
1973
-
<entry><link linkend="ini.windows-show-crt-warning">windows_show_crt_warning</link></entry>
1759
+
<entry><link linkend="ini.windows-show-crt-warning">windows.show_crt_warning</link></entry>
1974
1760
<entry>"0"</entry>
1975
-
<entry>PHP_INI_ALL</entry>
1976
-
<entry>Available since PHP 5.4.0.</entry>
1761
+
<entry><constant>INI_ALL</constant></entry>
1762
+
<entry></entry>
1977
1763
</row>
1978
1764
</tbody>
1979
1765
</tgroup>
...
...
@@ -1986,13 +1772,12 @@ include_path = ".:${USER}/pear/php"
1986
1772
<variablelist>
1987
1773
<varlistentry xml:id="ini.windows-show-crt-warning">
1988
1774
<term>
1989
-
<parameter>windows_show_crt_warning</parameter>
1990
-
<type>boolean</type>
1775
+
<parameter>windows.show_crt_warning</parameter>
1776
+
<type>bool</type>
1991
1777
</term>
1992
1778
<listitem>
1993
1779
<para>
1994
-
This directive shows the Windows CRT warnings when enabled. These
1995
-
warnings were displayed by default until PHP 5.4.0.
1780
+
This directive shows the Windows CRT warnings when enabled.
1996
1781
</para>
1997
1782
</listitem>
1998
1783
</varlistentry>
1999
1784