reference/opcache/ini.xml
d4d5216e7a965ca194f6b1c9dee84cecab2674e5
...
...
@@ -1,6 +1,6 @@
1
1
<?xml version="1.0" encoding="utf-8"?>
2
2
<!-- $Revision$ -->
3
-
<sect1 xml:id="opcache.configuration" xmlns="http://docbook.org/ns/docbook">
3
+
<sect1 xml:id="opcache.configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
4
4
&reftitle.runtime;
5
5
&extension.runtime;
6
6
<para>
...
...
@@ -19,238 +19,352 @@
19
19
<row>
20
20
<entry><link linkend="ini.opcache.enable">opcache.enable</link></entry>
21
21
<entry>"1"</entry>
22
-
<entry>PHP_INI_ALL</entry>
22
+
<entry><constant>INI_ALL</constant></entry>
23
23
<entry></entry>
24
24
</row>
25
25
<row>
26
26
<entry><link linkend="ini.opcache.enable-cli">opcache.enable_cli</link></entry>
27
27
<entry>"0"</entry>
28
-
<entry>PHP_INI_SYSTEM</entry>
28
+
<entry><constant>INI_SYSTEM</constant></entry>
29
29
<entry>Between PHP 7.1.2 and 7.1.6 inclusive, the default was "1"</entry>
30
30
</row>
31
31
<row>
32
32
<entry><link
33
33
linkend="ini.opcache.memory-consumption">opcache.memory_consumption</link></entry>
34
34
<entry>"128"</entry>
35
-
<entry>PHP_INI_SYSTEM</entry>
36
-
<entry>Before PHP 7.0.0 the default was "64"</entry>
35
+
<entry><constant>INI_SYSTEM</constant></entry>
36
+
<entry></entry>
37
37
</row>
38
38
<row>
39
39
<entry><link linkend="ini.opcache.interned-strings-buffer">opcache.interned_strings_buffer</link></entry>
40
40
<entry>"8"</entry>
41
-
<entry>PHP_INI_SYSTEM</entry>
42
-
<entry>Before PHP 7.0.0 the default was "4"</entry>
41
+
<entry><constant>INI_SYSTEM</constant></entry>
42
+
<entry></entry>
43
43
</row>
44
44
<row>
45
45
<entry><link linkend="ini.opcache.max-accelerated-files">opcache.max_accelerated_files</link></entry>
46
46
<entry>"10000"</entry>
47
-
<entry>PHP_INI_SYSTEM</entry>
48
-
<entry>Before PHP 7.0.0 the default was "2000"</entry>
47
+
<entry><constant>INI_SYSTEM</constant></entry>
48
+
<entry></entry>
49
49
</row>
50
50
<row>
51
51
<entry><link linkend="ini.opcache.max-wasted-percentage">opcache.max_wasted_percentage</link></entry>
52
52
<entry>"5"</entry>
53
-
<entry>PHP_INI_SYSTEM</entry>
53
+
<entry><constant>INI_SYSTEM</constant></entry>
54
54
<entry></entry>
55
55
</row>
56
56
<row>
57
57
<entry><link linkend="ini.opcache.use-cwd">opcache.use_cwd</link></entry>
58
58
<entry>"1"</entry>
59
-
<entry>PHP_INI_SYSTEM</entry>
59
+
<entry><constant>INI_SYSTEM</constant></entry>
60
60
<entry></entry>
61
61
</row>
62
62
<row>
63
63
<entry><link linkend="ini.opcache.validate-timestamps">opcache.validate_timestamps</link></entry>
64
64
<entry>"1"</entry>
65
-
<entry>PHP_INI_ALL</entry>
65
+
<entry><constant>INI_ALL</constant></entry>
66
66
<entry></entry>
67
67
</row>
68
68
<row>
69
69
<entry><link linkend="ini.opcache.revalidate-freq">opcache.revalidate_freq</link></entry>
70
70
<entry>"2"</entry>
71
-
<entry>PHP_INI_ALL</entry>
71
+
<entry><constant>INI_ALL</constant></entry>
72
72
<entry></entry>
73
73
</row>
74
74
<row>
75
75
<entry><link linkend="ini.opcache.revalidate-path">opcache.revalidate_path</link></entry>
76
76
<entry>"0"</entry>
77
-
<entry>PHP_INI_ALL</entry>
77
+
<entry><constant>INI_ALL</constant></entry>
78
78
<entry></entry>
79
79
</row>
80
80
<row>
81
81
<entry><link linkend="ini.opcache.save-comments">opcache.save_comments</link></entry>
82
82
<entry>"1"</entry>
83
-
<entry>PHP_INI_SYSTEM</entry>
83
+
<entry><constant>INI_SYSTEM</constant></entry>
84
84
<entry></entry>
85
85
</row>
86
86
<row>
87
-
<entry><link linkend="ini.opcache.load-comments">opcache.load_comments</link></entry>
88
-
<entry>"1"</entry>
89
-
<entry>PHP_INI_ALL</entry>
90
-
<entry>Removed in PHP 7.0.0.</entry>
91
-
</row>
92
-
<row>
93
87
<entry><link linkend="ini.opcache.fast-shutdown">opcache.fast_shutdown</link></entry>
94
88
<entry>"0"</entry>
95
-
<entry>PHP_INI_SYSTEM</entry>
89
+
<entry><constant>INI_SYSTEM</constant></entry>
96
90
<entry>Removed in PHP 7.2.0</entry>
97
91
</row>
98
92
<row>
99
93
<entry><link linkend="ini.opcache.enable-file-override">opcache.enable_file_override</link></entry>
100
94
<entry>"0"</entry>
101
-
<entry>PHP_INI_SYSTEM</entry>
95
+
<entry><constant>INI_SYSTEM</constant></entry>
102
96
<entry></entry>
103
97
</row>
104
98
<row>
105
99
<entry><link linkend="ini.opcache.optimization-level">opcache.optimization_level</link></entry>
106
-
<entry>"0x7FFFBFFF"</entry>
107
-
<entry>PHP_INI_SYSTEM</entry>
108
-
<entry>Changed from 0xFFFFFFFF in PHP 5.6.18</entry>
100
+
<entry>"0x7FFEBFFF"</entry>
101
+
<entry><constant>INI_SYSTEM</constant></entry>
102
+
<entry>Changed from 0x7FFFBFFF in PHP 7.3.0</entry>
109
103
</row>
110
104
<row>
111
105
<entry><link linkend="ini.opcache.inherited-hack">opcache.inherited_hack</link></entry>
112
106
<entry>"1"</entry>
113
-
<entry>PHP_INI_SYSTEM</entry>
107
+
<entry><constant>INI_SYSTEM</constant></entry>
114
108
<entry>Removed in PHP 7.3.0</entry>
115
109
</row>
116
110
<row>
117
111
<entry><link linkend="ini.opcache.dups-fix">opcache.dups_fix</link></entry>
118
112
<entry>"0"</entry>
119
-
<entry>PHP_INI_ALL</entry>
113
+
<entry><constant>INI_ALL</constant></entry>
120
114
<entry></entry>
121
115
</row>
122
116
<row>
123
117
<entry><link linkend="ini.opcache.blacklist-filename">opcache.blacklist_filename</link></entry>
124
118
<entry>""</entry>
125
-
<entry>PHP_INI_SYSTEM</entry>
119
+
<entry><constant>INI_SYSTEM</constant></entry>
126
120
<entry></entry>
127
121
</row>
128
122
<row>
129
123
<entry><link linkend="ini.opcache.max-file-size">opcache.max_file_size</link></entry>
130
124
<entry>"0"</entry>
131
-
<entry>PHP_INI_SYSTEM</entry>
125
+
<entry><constant>INI_SYSTEM</constant></entry>
132
126
<entry></entry>
133
127
</row>
134
128
<row>
135
129
<entry><link linkend="ini.opcache.consistency-checks">opcache.consistency_checks</link></entry>
136
130
<entry>"0"</entry>
137
-
<entry>PHP_INI_ALL</entry>
138
-
<entry></entry>
131
+
<entry><constant>INI_ALL</constant></entry>
132
+
<entry>Disabled as of 8.1.18 and 8.2.5. Removed as of PHP 8.3.0.</entry>
139
133
</row>
140
134
<row>
141
135
<entry><link linkend="ini.opcache.force-restart-timeout">opcache.force_restart_timeout</link></entry>
142
136
<entry>"180"</entry>
143
-
<entry>PHP_INI_SYSTEM</entry>
137
+
<entry><constant>INI_SYSTEM</constant></entry>
144
138
<entry></entry>
145
139
</row>
146
140
<row>
147
141
<entry><link linkend="ini.opcache.error-log">opcache.error_log</link></entry>
148
142
<entry>""</entry>
149
-
<entry>PHP_INI_SYSTEM</entry>
143
+
<entry><constant>INI_SYSTEM</constant></entry>
150
144
<entry></entry>
151
145
</row>
152
146
<row>
153
147
<entry><link linkend="ini.opcache.log-verbosity-level">opcache.log_verbosity_level</link></entry>
154
148
<entry>"1"</entry>
155
-
<entry>PHP_INI_SYSTEM</entry>
149
+
<entry><constant>INI_SYSTEM</constant></entry>
156
150
<entry></entry>
157
151
</row>
158
152
<row>
153
+
<entry><link linkend="ini.opcache.record-warnings">opcache.record_warnings</link></entry>
154
+
<entry>"0"</entry>
155
+
<entry><constant>INI_SYSTEM</constant></entry>
156
+
<entry>Available as of PHP 8.0.0</entry>
157
+
</row>
158
+
<row>
159
159
<entry><link linkend="ini.opcache.preferred-memory-model">opcache.preferred_memory_model</link></entry>
160
160
<entry>""</entry>
161
-
<entry>PHP_INI_SYSTEM</entry>
161
+
<entry><constant>INI_SYSTEM</constant></entry>
162
162
<entry></entry>
163
163
</row>
164
164
<row>
165
165
<entry><link linkend="ini.opcache.protect-memory">opcache.protect_memory</link></entry>
166
166
<entry>"0"</entry>
167
-
<entry>PHP_INI_SYSTEM</entry>
167
+
<entry><constant>INI_SYSTEM</constant></entry>
168
168
<entry></entry>
169
169
</row>
170
170
<row>
171
171
<entry><link linkend="ini.opcache.mmap-base">opcache.mmap_base</link></entry>
172
172
<entry>&null;</entry>
173
-
<entry>PHP_INI_SYSTEM</entry>
173
+
<entry><constant>INI_SYSTEM</constant></entry>
174
174
<entry></entry>
175
175
</row>
176
176
<row>
177
177
<entry><link linkend="ini.opcache.restrict-api">opcache.restrict_api</link></entry>
178
178
<entry>""</entry>
179
-
<entry>PHP_INI_SYSTEM</entry>
179
+
<entry><constant>INI_SYSTEM</constant></entry>
180
180
<entry></entry>
181
181
</row>
182
182
<row>
183
183
<entry><link linkend="ini.opcache.file_update_protection">opcache.file_update_protection</link></entry>
184
184
<entry>"2"</entry>
185
-
<entry>PHP_INI_ALL</entry>
185
+
<entry><constant>INI_ALL</constant></entry>
186
186
<entry></entry>
187
187
</row>
188
188
<row>
189
189
<entry><link linkend="ini.opcache.huge_code_pages">opcache.huge_code_pages</link></entry>
190
190
<entry>"0"</entry>
191
-
<entry>PHP_INI_SYSTEM</entry>
191
+
<entry><constant>INI_SYSTEM</constant></entry>
192
192
<entry></entry>
193
193
</row>
194
194
<row>
195
195
<entry><link linkend="ini.opcache.lockfile_path">opcache.lockfile_path</link></entry>
196
196
<entry>"/tmp"</entry>
197
-
<entry>PHP_INI_SYSTEM</entry>
197
+
<entry><constant>INI_SYSTEM</constant></entry>
198
198
<entry></entry>
199
199
</row>
200
200
<row>
201
201
<entry><link linkend="ini.opcache.opt_debug_level">opcache.opt_debug_level</link></entry>
202
202
<entry>"0"</entry>
203
-
<entry>PHP_INI_SYSTEM</entry>
204
-
<entry></entry>
203
+
<entry><constant>INI_SYSTEM</constant></entry>
204
+
<entry>Available as of PHP 7.1.0</entry>
205
205
</row>
206
206
<row>
207
207
<entry><link linkend="ini.opcache.file-cache">opcache.file_cache</link></entry>
208
208
<entry>NULL</entry>
209
-
<entry>PHP_INI_SYSTEM</entry>
210
-
<entry>Available as of PHP 7.0.0</entry>
209
+
<entry><constant>INI_SYSTEM</constant></entry>
210
+
<entry></entry>
211
211
</row>
212
212
<row>
213
213
<entry><link linkend="ini.opcache.file-cache-only">opcache.file_cache_only</link></entry>
214
214
<entry>"0"</entry>
215
-
<entry>PHP_INI_SYSTEM</entry>
216
-
<entry>Available as of PHP 7.0.0</entry>
215
+
<entry><constant>INI_SYSTEM</constant></entry>
216
+
<entry></entry>
217
217
</row>
218
218
<row>
219
219
<entry><link linkend="ini.opcache.file-cache-consistency-checks">opcache.file_cache_consistency_checks</link></entry>
220
220
<entry>"1"</entry>
221
-
<entry>PHP_INI_SYSTEM</entry>
222
-
<entry>Available as of PHP 7.0.0</entry>
221
+
<entry><constant>INI_SYSTEM</constant></entry>
222
+
<entry></entry>
223
223
</row>
224
224
<row>
225
225
<entry><link linkend="ini.opcache.file-cache-fallback">opcache.file_cache_fallback</link></entry>
226
226
<entry>"1"</entry>
227
-
<entry>PHP_INI_SYSTEM</entry>
228
-
<entry>Windows only. Available as of PHP 7.0.0</entry>
227
+
<entry><constant>INI_SYSTEM</constant></entry>
228
+
<entry>Windows only.</entry>
229
229
</row>
230
230
<row>
231
231
<entry><link linkend="ini.opcache.validate-permission">opcache.validate_permission</link></entry>
232
232
<entry>"0"</entry>
233
-
<entry>PHP_INI_SYSTEM</entry>
233
+
<entry><constant>INI_SYSTEM</constant></entry>
234
234
<entry>Available as of PHP 7.0.14</entry>
235
235
</row>
236
236
<row>
237
237
<entry><link linkend="ini.opcache.validate-root">opcache.validate_root</link></entry>
238
238
<entry>"0"</entry>
239
-
<entry>PHP_INI_SYSTEM</entry>
239
+
<entry><constant>INI_SYSTEM</constant></entry>
240
240
<entry>Available as of PHP 7.0.14</entry>
241
241
</row>
242
242
<row>
243
243
<entry><link linkend="ini.opcache.preload">opcache.preload</link></entry>
244
244
<entry>""</entry>
245
-
<entry>PHP_INI_SYSTEM</entry>
245
+
<entry><constant>INI_SYSTEM</constant></entry>
246
246
<entry>Available as of PHP 7.4.0</entry>
247
247
</row>
248
248
<row>
249
249
<entry><link linkend="ini.opcache.preload-user">opcache.preload_user</link></entry>
250
250
<entry>""</entry>
251
-
<entry>PHP_INI_SYSTEM</entry>
251
+
<entry><constant>INI_SYSTEM</constant></entry>
252
252
<entry>Available as of PHP 7.4.0</entry>
253
253
</row>
254
+
<row>
255
+
<entry><link linkend="ini.opcache.cache-id">opcache.cache_id</link></entry>
256
+
<entry>""</entry>
257
+
<entry><constant>INI_SYSTEM</constant></entry>
258
+
<entry>Windows only. Available as of PHP 7.4.0</entry>
259
+
</row>
260
+
<row>
261
+
<entry><link linkend="ini.opcache.jit">opcache.jit</link></entry>
262
+
<entry>"tracing"</entry>
263
+
<entry><constant>INI_ALL</constant></entry>
264
+
<entry>Available as of PHP 8.0.0</entry>
265
+
</row>
266
+
<row>
267
+
<entry><link linkend="ini.opcache.jit-buffer-size">opcache.jit_buffer_size</link></entry>
268
+
<entry>"0"</entry>
269
+
<entry><constant>INI_SYSTEM</constant></entry>
270
+
<entry>Available as of PHP 8.0.0</entry>
271
+
</row>
272
+
<row>
273
+
<entry><link linkend="ini.opcache.jit-debug">opcache.jit_debug</link></entry>
274
+
<entry>"0"</entry>
275
+
<entry><constant>INI_ALL</constant></entry>
276
+
<entry>Available as of PHP 8.0.0</entry>
277
+
</row>
278
+
<row>
279
+
<entry><link linkend="ini.opcache.jit-bisect-limit">opcache.jit_bisect_limit</link></entry>
280
+
<entry>"0"</entry>
281
+
<entry><constant>INI_ALL</constant></entry>
282
+
<entry>Available as of PHP 8.0.0</entry>
283
+
</row>
284
+
<row>
285
+
<entry><link linkend="ini.opcache.jit-prof-threshold">opcache.jit_prof_threshold</link></entry>
286
+
<entry>"0.005"</entry>
287
+
<entry><constant>INI_ALL</constant></entry>
288
+
<entry>Available as of PHP 8.0.0</entry>
289
+
</row>
290
+
<row>
291
+
<entry><link linkend="ini.opcache.jit-max-root-traces">opcache.jit_max_root_traces</link></entry>
292
+
<entry>"1024"</entry>
293
+
<entry><constant>INI_SYSTEM</constant></entry>
294
+
<entry>Available as of PHP 8.0.0</entry>
295
+
</row>
296
+
<row>
297
+
<entry><link linkend="ini.opcache.jit-max-side-traces">opcache.jit_max_side_traces</link></entry>
298
+
<entry>"128"</entry>
299
+
<entry><constant>INI_SYSTEM</constant></entry>
300
+
<entry>Available as of PHP 8.0.0</entry>
301
+
</row>
302
+
<row>
303
+
<entry><link linkend="ini.opcache.jit-max-exit-counters">opcache.jit_max_exit_counters</link></entry>
304
+
<entry>"8192"</entry>
305
+
<entry><constant>INI_SYSTEM</constant></entry>
306
+
<entry>Available as of PHP 8.0.0</entry>
307
+
</row>
308
+
<row>
309
+
<entry><link linkend="ini.opcache.jit-hot-loop">opcache.jit_hot_loop</link></entry>
310
+
<entry>"64"</entry>
311
+
<entry><constant>INI_SYSTEM</constant></entry>
312
+
<entry>Available as of PHP 8.0.0</entry>
313
+
</row>
314
+
<row>
315
+
<entry><link linkend="ini.opcache.jit-hot-func">opcache.jit_hot_func</link></entry>
316
+
<entry>"127"</entry>
317
+
<entry><constant>INI_SYSTEM</constant></entry>
318
+
<entry>Available as of PHP 8.0.0</entry>
319
+
</row>
320
+
<row>
321
+
<entry><link linkend="ini.opcache.jit-hot-return">opcache.jit_hot_return</link></entry>
322
+
<entry>"8"</entry>
323
+
<entry><constant>INI_SYSTEM</constant></entry>
324
+
<entry>Available as of PHP 8.0.0</entry>
325
+
</row>
326
+
<row>
327
+
<entry><link linkend="ini.opcache.jit-hot-side-exit">opcache.jit_hot_side_exit</link></entry>
328
+
<entry>"8"</entry>
329
+
<entry><constant>INI_SYSTEM</constant></entry>
330
+
<entry>Available as of PHP 8.0.0</entry>
331
+
</row>
332
+
<row>
333
+
<entry><link linkend="ini.opcache.jit-blacklist-root-trace">opcache.jit_blacklist_root_trace</link></entry>
334
+
<entry>"16"</entry>
335
+
<entry><constant>INI_ALL</constant></entry>
336
+
<entry>Available as of PHP 8.0.0</entry>
337
+
</row>
338
+
<row>
339
+
<entry><link linkend="ini.opcache.jit-blacklist-side-trace">opcache.jit_blacklist_side_trace</link></entry>
340
+
<entry>"8"</entry>
341
+
<entry><constant>INI_ALL</constant></entry>
342
+
<entry>Available as of PHP 8.0.0</entry>
343
+
</row>
344
+
<row>
345
+
<entry><link linkend="ini.opcache.jit-max-loop-unrolls">opcache.jit_max_loop_unrolls</link></entry>
346
+
<entry>"8"</entry>
347
+
<entry><constant>INI_ALL</constant></entry>
348
+
<entry>Available as of PHP 8.0.0</entry>
349
+
</row>
350
+
<row>
351
+
<entry><link linkend="ini.opcache.jit-max-recursive-calls">opcache.jit_max_recursive_calls</link></entry>
352
+
<entry>"2"</entry>
353
+
<entry><constant>INI_ALL</constant></entry>
354
+
<entry>Available as of PHP 8.0.0</entry>
355
+
</row>
356
+
<row>
357
+
<entry><link linkend="ini.opcache.jit-max-recursive-return">opcache.jit_max_recursive_returns</link></entry>
358
+
<entry>"2"</entry>
359
+
<entry><constant>INI_ALL</constant></entry>
360
+
<entry>Available as of PHP 8.0.0</entry>
361
+
</row>
362
+
<row>
363
+
<entry><link linkend="ini.opcache.jit-max-polymorphic-calls">opcache.jit_max_polymorphic_calls</link></entry>
364
+
<entry>"2"</entry>
365
+
<entry><constant>INI_ALL</constant></entry>
366
+
<entry>Available as of PHP 8.0.0</entry>
367
+
</row>
254
368
</tbody>
255
369
</tgroup>
256
370
</table>
...
...
@@ -264,21 +378,21 @@
264
378
<varlistentry xml:id="ini.opcache.enable">
265
379
<term>
266
380
<parameter>opcache.enable</parameter>
267
-
<type>boolean</type>
381
+
<type>bool</type>
268
382
</term>
269
383
<listitem>
270
384
<para>
271
385
Enables the opcode cache. When disabled, code is not optimised or
272
386
cached. The setting <literal>opcache.enable</literal> can not be
273
387
enabled at runtime through <function>ini_set</function>, it can only
274
-
be disabled. Trying to enable it at in a script will generate a warning.
388
+
be disabled. Trying to enable it in a script will generate a warning.
275
389
</para>
276
390
</listitem>
277
391
</varlistentry>
278
392
<varlistentry xml:id="ini.opcache.enable-cli">
279
393
<term>
280
394
<parameter>opcache.enable_cli</parameter>
281
-
<type>boolean</type>
395
+
<type>bool</type>
282
396
</term>
283
397
<listitem>
284
398
<para>
...
...
@@ -289,58 +403,62 @@
289
403
<varlistentry xml:id="ini.opcache.memory-consumption">
290
404
<term>
291
405
<parameter>opcache.memory_consumption</parameter>
292
-
<type>integer</type>
406
+
<type>int</type>
293
407
</term>
294
408
<listitem>
295
409
<para>
296
410
The size of the shared memory storage used by OPcache, in megabytes.
411
+
The minimum permissible value is <literal>"8"</literal>,
412
+
which is enforced if a smaller value is set.
297
413
</para>
298
414
</listitem>
299
415
</varlistentry>
300
416
<varlistentry xml:id="ini.opcache.interned-strings-buffer">
301
417
<term>
302
418
<parameter>opcache.interned_strings_buffer</parameter>
303
-
<type>integer</type>
419
+
<type>int</type>
304
420
</term>
305
421
<listitem>
306
422
<para>
307
-
The amount of memory used to store interned strings, in megabytes. This
308
-
configuration directive is ignored in PHP &lt; 5.3.0.
423
+
The amount of memory used to store interned strings, in megabytes.
309
424
</para>
310
425
</listitem>
311
426
</varlistentry>
312
427
<varlistentry xml:id="ini.opcache.max-accelerated-files">
313
428
<term>
314
429
<parameter>opcache.max_accelerated_files</parameter>
315
-
<type>integer</type>
430
+
<type>int</type>
316
431
</term>
317
432
<listitem>
318
433
<para>
319
434
The maximum number of keys (and therefore scripts) in the OPcache hash
320
435
table. The actual value used will be the first number in the set of
321
436
prime numbers
322
-
<literal>{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 }</literal>
437
+
<literal>{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }</literal>
323
438
that is greater than or equal to the configured value. The minimum value is 200. The maximum
324
-
value is 100000 in PHP &lt; 5.5.6, and 1000000 in later versions.
439
+
value is 1000000.
440
+
Values outside of this range are clamped to the permissible range.
325
441
</para>
326
442
</listitem>
327
443
</varlistentry>
328
444
<varlistentry xml:id="ini.opcache.max-wasted-percentage">
329
445
<term>
330
446
<parameter>opcache.max_wasted_percentage</parameter>
331
-
<type>integer</type>
447
+
<type>int</type>
332
448
</term>
333
449
<listitem>
334
450
<para>
335
451
The maximum percentage of wasted memory that is allowed before a restart
336
-
is scheduled.
452
+
is scheduled, if there is insufficient free memory.
453
+
The maximum permissible value is <literal>"50"</literal>,
454
+
which is enforced if a larger value is set.
337
455
</para>
338
456
</listitem>
339
457
</varlistentry>
340
458
<varlistentry xml:id="ini.opcache.use-cwd">
341
459
<term>
342
460
<parameter>opcache.use_cwd</parameter>
343
-
<type>boolean</type>
461
+
<type>bool</type>
344
462
</term>
345
463
<listitem>
346
464
<para>
...
...
@@ -354,7 +472,7 @@
354
472
<varlistentry xml:id="ini.opcache.validate-timestamps">
355
473
<term>
356
474
<parameter>opcache.validate_timestamps</parameter>
357
-
<type>boolean</type>
475
+
<type>bool</type>
358
476
</term>
359
477
<listitem>
360
478
<para>
...
...
@@ -364,13 +482,21 @@
364
482
manually via <function>opcache_reset</function>,
365
483
<function>opcache_invalidate</function> or by restarting the Web server
366
484
for changes to the filesystem to take effect.
485
+
<note>
486
+
<simpara>
487
+
OPcache may still validate the timestamp of a file at compile-time if
488
+
<link linkend="ini.opcache.file_update_protection">opcache.file_update_protection</link>
489
+
or <link linkend="ini.opcache.max-file-size">opcache.max_file_size</link>
490
+
options are set to non-zero values.
491
+
</simpara>
492
+
</note>
367
493
</para>
368
494
</listitem>
369
495
</varlistentry>
370
496
<varlistentry xml:id="ini.opcache.revalidate-freq">
371
497
<term>
372
498
<parameter>opcache.revalidate_freq</parameter>
373
-
<type>integer</type>
499
+
<type>int</type>
374
500
</term>
375
501
<listitem>
376
502
<para>
...
...
@@ -388,7 +514,7 @@
388
514
<varlistentry xml:id="ini.opcache.revalidate-path">
389
515
<term>
390
516
<parameter>opcache.revalidate_path</parameter>
391
-
<type>boolean</type>
517
+
<type>bool</type>
392
518
</term>
393
519
<listitem>
394
520
<para>
...
...
@@ -402,7 +528,7 @@
402
528
<varlistentry xml:id="ini.opcache.save-comments">
403
529
<term>
404
530
<parameter>opcache.save_comments</parameter>
405
-
<type>boolean</type>
531
+
<type>bool</type>
406
532
</term>
407
533
<listitem>
408
534
<para>
...
...
@@ -414,24 +540,10 @@
414
540
</para>
415
541
</listitem>
416
542
</varlistentry>
417
-
<varlistentry xml:id="ini.opcache.load-comments">
418
-
<term>
419
-
<parameter>opcache.load_comments</parameter>
420
-
<type>boolean</type>
421
-
</term>
422
-
<listitem>
423
-
<para>
424
-
If disabled, documentation comments won't be loaded from the opcode
425
-
cache even if they exist. This can be used with
426
-
<link linkend="ini.opcache.save-comments">opcache.save_comments</link>
427
-
to only load comments for applications that require them.
428
-
</para>
429
-
</listitem>
430
-
</varlistentry>
431
543
<varlistentry xml:id="ini.opcache.fast-shutdown">
432
544
<term>
433
545
<parameter>opcache.fast_shutdown</parameter>
434
-
<type>boolean</type>
546
+
<type>bool</type>
435
547
</term>
436
548
<listitem>
437
549
<para>
...
...
@@ -449,7 +561,7 @@
449
561
<varlistentry xml:id="ini.opcache.enable-file-override">
450
562
<term>
451
563
<parameter>opcache.enable_file_override</parameter>
452
-
<type>boolean</type>
564
+
<type>bool</type>
453
565
</term>
454
566
<listitem>
455
567
<para>
...
...
@@ -467,38 +579,32 @@
467
579
<varlistentry xml:id="ini.opcache.optimization-level">
468
580
<term>
469
581
<parameter>opcache.optimization_level</parameter>
470
-
<type>integer</type>
582
+
<type>int</type>
471
583
</term>
472
584
<listitem>
473
585
<para>
474
586
A bitmask that controls which optimisation passes are executed.
587
+
The default is to apply all safe optimizations.
588
+
Changing the default is mostly useful for debugging/developing the optimizer
589
+
(see also <link linkend="ini.opcache.opt_debug_level">opcache.opt_debug_level</link>).
475
590
</para>
476
591
</listitem>
477
592
</varlistentry>
478
593
<varlistentry xml:id="ini.opcache.inherited-hack">
479
594
<term>
480
595
<parameter>opcache.inherited_hack</parameter>
481
-
<type>boolean</type>
596
+
<type>bool</type>
482
597
</term>
483
598
<listitem>
484
599
<para>
485
-
In PHP &lt; 5.3, OPcache stores the places where
486
-
<link linkend="internals2.opcodes.declare-class">DECLARE_CLASS</link>
487
-
opcodes used inheritance; when the file is loaded, OPcache then tries to
488
-
bind the inherited classes using the current environment. The problem is
489
-
that while the DECLARE_CLASS opcode may not be needed for the current
490
-
script, if the script requires that the opcode be defined, it may not
491
-
run.
492
-
</para>
493
-
<para>
494
-
This configuration directive is ignored in PHP 5.3 and later.
600
+
This configuration directive is ignored.
495
601
</para>
496
602
</listitem>
497
603
</varlistentry>
498
604
<varlistentry xml:id="ini.opcache.dups-fix">
499
605
<term>
500
606
<parameter>opcache.dups_fix</parameter>
501
-
<type>boolean</type>
607
+
<type>bool</type>
502
608
</term>
503
609
<listitem>
504
610
<para>
...
...
@@ -539,7 +645,7 @@
539
645
<varlistentry xml:id="ini.opcache.max-file-size">
540
646
<term>
541
647
<parameter>opcache.max_file_size</parameter>
542
-
<type>integer</type>
648
+
<type>int</type>
543
649
</term>
544
650
<listitem>
545
651
<para>
...
...
@@ -551,7 +657,7 @@
551
657
<varlistentry xml:id="ini.opcache.consistency-checks">
552
658
<term>
553
659
<parameter>opcache.consistency_checks</parameter>
554
-
<type>integer</type>
660
+
<type>int</type>
555
661
</term>
556
662
<listitem>
557
663
<para>
...
...
@@ -559,12 +665,17 @@
559
665
where N is the value of this configuration directive. This should only
560
666
be enabled when debugging, as it will impair performance.
561
667
</para>
668
+
<note>
669
+
<para>
670
+
Disabled as of 8.1.18 and 8.2.5. Removed as of PHP 8.3.0.
671
+
</para>
672
+
</note>
562
673
</listitem>
563
674
</varlistentry>
564
675
<varlistentry xml:id="ini.opcache.force-restart-timeout">
565
676
<term>
566
677
<parameter>opcache.force_restart_timeout</parameter>
567
-
<type>integer</type>
678
+
<type>int</type>
568
679
</term>
569
680
<listitem>
570
681
<para>
...
...
@@ -579,6 +690,9 @@
579
690
is set to 2 or above, a warning will be recorded in the error log when
580
691
this occurs.
581
692
</para>
693
+
<para>
694
+
This directive is not supported on Windows.
695
+
</para>
582
696
</listitem>
583
697
</varlistentry>
584
698
<varlistentry xml:id="ini.opcache.error-log">
...
...
@@ -597,7 +711,7 @@
597
711
<varlistentry xml:id="ini.opcache.log-verbosity-level">
598
712
<term>
599
713
<parameter>opcache.log_verbosity_level</parameter>
600
-
<type>integer</type>
714
+
<type>int</type>
601
715
</term>
602
716
<listitem>
603
717
<para>
...
...
@@ -607,6 +721,18 @@
607
721
</para>
608
722
</listitem>
609
723
</varlistentry>
724
+
<varlistentry xml:id="ini.opcache.record-warnings">
725
+
<term>
726
+
<parameter>opcache.record_warnings</parameter>
727
+
<type>bool</type>
728
+
</term>
729
+
<listitem>
730
+
<para>
731
+
If enabled, OPcache will record compile-time warnings and replay them on
732
+
the next include, even if it is served from cache.
733
+
</para>
734
+
</listitem>
735
+
</varlistentry>
610
736
<varlistentry xml:id="ini.opcache.preferred-memory-model">
611
737
<term>
612
738
<parameter>opcache.preferred_memory_model</parameter>
...
...
@@ -627,7 +753,7 @@
627
753
<varlistentry xml:id="ini.opcache.protect-memory">
628
754
<term>
629
755
<parameter>opcache.protect_memory</parameter>
630
-
<type>boolean</type>
756
+
<type>bool</type>
631
757
</term>
632
758
<listitem>
633
759
<para>
...
...
@@ -671,19 +797,21 @@
671
797
<para>
672
798
Prevents caching files that are less than this number of seconds old.
673
799
It protects from caching of incompletely updated files. In case all file
674
-
updates on your site are atomic, you may increase performance by setting it to "0".
800
+
updates are atomic, performance can be increased by setting this to <literal>0</literal>.
801
+
This will allow files to be cached immediately.
675
802
</para>
676
803
</listitem>
677
804
</varlistentry>
678
805
<varlistentry xml:id="ini.opcache.huge_code_pages">
679
806
<term>
680
807
<parameter>opcache.huge_code_pages</parameter>
681
-
<type>string</type>
808
+
<type>bool</type>
682
809
</term>
683
810
<listitem>
684
811
<para>
685
812
Enables or disables copying of PHP code (text segment) into HUGE PAGES.
686
813
This should improve performance, but requires appropriate OS configuration.
814
+
Available on Linux as of PHP 7.0.0, and on FreeBSD as of PHP 7.4.0.
687
815
</para>
688
816
</listitem>
689
817
</varlistentry>
...
...
@@ -727,18 +855,24 @@
727
855
<varlistentry xml:id="ini.opcache.file-cache-only">
728
856
<term>
729
857
<parameter>opcache.file_cache_only</parameter>
730
-
<type>boolean</type>
858
+
<type>bool</type>
731
859
</term>
732
860
<listitem>
733
861
<para>
734
862
Enables or disables opcode caching in shared memory.
735
863
</para>
864
+
<note>
865
+
<para>
866
+
Prior to PHP 8.1.0, disabling this directive with an already populated
867
+
file cache required to manually clear the file cache.
868
+
</para>
869
+
</note>
736
870
</listitem>
737
871
</varlistentry>
738
872
<varlistentry xml:id="ini.opcache.file-cache-consistency-checks">
739
873
<term>
740
874
<parameter>opcache.file_cache_consistency_checks</parameter>
741
-
<type>boolean</type>
875
+
<type>bool</type>
742
876
</term>
743
877
<listitem>
744
878
<para>
...
...
@@ -749,7 +883,7 @@
749
883
<varlistentry xml:id="ini.opcache.file-cache-fallback">
750
884
<term>
751
885
<parameter>opcache.file_cache_fallback</parameter>
752
-
<type>boolean</type>
886
+
<type>bool</type>
753
887
</term>
754
888
<listitem>
755
889
<para>
...
...
@@ -768,7 +902,7 @@
768
902
<varlistentry xml:id="ini.opcache.validate-permission">
769
903
<term>
770
904
<parameter>opcache.validate_permission</parameter>
771
-
<type>boolean</type>
905
+
<type>bool</type>
772
906
</term>
773
907
<listitem>
774
908
<para>
...
...
@@ -779,7 +913,7 @@
779
913
<varlistentry xml:id="ini.opcache.validate-root">
780
914
<term>
781
915
<parameter>opcache.validate_root</parameter>
782
-
<type>boolean</type>
916
+
<type>bool</type>
783
917
</term>
784
918
<listitem>
785
919
<para>
...
...
@@ -801,6 +935,11 @@
801
935
functions and classes) defined in these files will be available to requests out of
802
936
the box, until the server is shut down.
803
937
</para>
938
+
<note>
939
+
<para>
940
+
Preloading is not supported on Windows.
941
+
</para>
942
+
</note>
804
943
</listitem>
805
944
</varlistentry>
806
945
<varlistentry xml:id="ini.opcache.preload-user">
...
...
@@ -810,8 +949,323 @@
810
949
</term>
811
950
<listitem>
812
951
<para>
813
-
Preloading code as root is not allowed for security reasons. This directive
814
-
facilitates to let the preloading to be run as another user.
952
+
Lets the preloading to be run as the specified system user. This is useful for servers that
953
+
startup as root before switching to an unprivileged system user. Preloading as root is not
954
+
allowed by default for security reasons, unless this directive is explicitly set to
955
+
<literal>root</literal>.
956
+
</para>
957
+
</listitem>
958
+
</varlistentry>
959
+
<varlistentry xml:id="ini.opcache.cache-id">
960
+
<term>
961
+
<parameter>opcache.cache_id</parameter>
962
+
<type>string</type>
963
+
</term>
964
+
<listitem>
965
+
<para>
966
+
On Windows, all processes running the same <acronym>PHP</acronym> <acronym>SAPI</acronym>
967
+
under the same user account having the same cache ID share a single OPcache instance.
968
+
The value of the cache ID can be freely chosen.
969
+
</para>
970
+
<tip>
971
+
<simpara>
972
+
For IIS, different application pools can have their own OPcache instance
973
+
by using the environment variable <envar>APP_POOL_ID</envar> as
974
+
<parameter>opcache.cache_id</parameter>.
975
+
</simpara>
976
+
</tip>
977
+
</listitem>
978
+
</varlistentry>
979
+
<varlistentry xml:id="ini.opcache.jit">
980
+
<term>
981
+
<parameter>opcache.jit</parameter>
982
+
<type class="union"><type>string</type><type>int</type></type>
983
+
</term>
984
+
<listitem>
985
+
<para>
986
+
For typical usage, this option accepts one of four string values:
987
+
</para>
988
+
<simplelist>
989
+
<member><literal>disable</literal>: Completely disabled, cannot be enabled at runtime.</member>
990
+
<member><literal>off</literal>: Disabled, but can be enabled at runtime.</member>
991
+
<member>
992
+
<literal>tracing</literal>/<literal>on</literal>: Use tracing JIT.
993
+
Enabled by default and recommended for most users.
994
+
</member>
995
+
<member><literal>function</literal>: Use function JIT.</member>
996
+
</simplelist>
997
+
<para>
998
+
For advanced usage, this option accepts a 4-digit integer <literal>CRTO</literal>, where the digits mean:
999
+
<variablelist>
1000
+
<varlistentry>
1001
+
<term><literal>C</literal> (CPU-specific optimization flags)</term>
1002
+
<listitem>
1003
+
<simplelist>
1004
+
<member><literal>0</literal>: Disable CPU-specific optimization.</member>
1005
+
<member><literal>1</literal>: Enable use of AVX, if the CPU supports it.</member>
1006
+
</simplelist>
1007
+
</listitem>
1008
+
</varlistentry>
1009
+
<varlistentry>
1010
+
<term><literal>R</literal> (register allocation)</term>
1011
+
<listitem>
1012
+
<simplelist>
1013
+
<member><literal>0</literal>: Don't perform register allocation.</member>
1014
+
<member><literal>1</literal>: Perform block-local register allocation.</member>
1015
+
<member><literal>2</literal>: Perform global register allocation.</member>
1016
+
</simplelist>
1017
+
</listitem>
1018
+
</varlistentry>
1019
+
<varlistentry>
1020
+
<term><literal>T</literal> (trigger)</term>
1021
+
<listitem>
1022
+
<simplelist>
1023
+
<member><literal>0</literal>: Compile all functions on script load.</member>
1024
+
<member><literal>1</literal>: Compile functions on first execution.</member>
1025
+
<member>
1026
+
<literal>2</literal>: Profile functions on first request and compile
1027
+
the hottest functions afterwards.
1028
+
</member>
1029
+
<member><literal>3</literal>: Profile on the fly and compile hot functions.</member>
1030
+
<member><literal>4</literal>: Currently unused.</member>
1031
+
<member>
1032
+
<literal>5</literal>: Use tracing JIT. Profile on the fly and
1033
+
compile traces for hot code segments.
1034
+
</member>
1035
+
</simplelist>
1036
+
</listitem>
1037
+
</varlistentry>
1038
+
<varlistentry>
1039
+
<term><literal>O</literal> (optimization level)</term>
1040
+
<listitem>
1041
+
<simplelist>
1042
+
<member><literal>0</literal>: No JIT.</member>
1043
+
<member><literal>1</literal>: Minimal JIT (call standard VM handlers).</member>
1044
+
<member><literal>2</literal>: Inline VM handlers.</member>
1045
+
<member><literal>3</literal>: Use type inference.</member>
1046
+
<member><literal>4</literal>: Use call graph.</member>
1047
+
<member><literal>5</literal>: Optimize whole script.</member>
1048
+
</simplelist>
1049
+
</listitem>
1050
+
</varlistentry>
1051
+
</variablelist>
1052
+
The <literal>"tracing"</literal> mode corresponds to <code>CRTO = 1254</code>,
1053
+
the <literal>"function"</literal> mode corresponds to <code>CRTO = 1205</code>.
1054
+
</para>
1055
+
</listitem>
1056
+
</varlistentry>
1057
+
<varlistentry xml:id="ini.opcache.jit-buffer-size">
1058
+
<term>
1059
+
<parameter>opcache.jit_buffer_size</parameter>
1060
+
<type>int</type>
1061
+
</term>
1062
+
<listitem>
1063
+
<para>
1064
+
The amount of shared memory to reserve for compiled JIT code. A zero value disables the JIT.
1065
+
</para>
1066
+
&ini.shorthandbytes;
1067
+
</listitem>
1068
+
</varlistentry>
1069
+
<varlistentry xml:id="ini.opcache.jit-debug">
1070
+
<term>
1071
+
<parameter>opcache.jit_debug</parameter>
1072
+
<type>int</type>
1073
+
</term>
1074
+
<listitem>
1075
+
<para>
1076
+
A bit mask specifying which JIT debug output to enable.
1077
+
For possible values, please consult
1078
+
<link xlink:href="&url.php.git.src.master.view;ext/opcache/jit/zend_jit.h">zend_jit.h</link>
1079
+
(search for macro definitions beginning with <code>ZEND_JIT_DEBUG</code>).
1080
+
</para>
1081
+
</listitem>
1082
+
</varlistentry>
1083
+
<varlistentry xml:id="ini.opcache.jit-bisect-limit">
1084
+
<term>
1085
+
<parameter>opcache.jit_bisect_limit</parameter>
1086
+
<type>int</type>
1087
+
</term>
1088
+
<listitem>
1089
+
<para>
1090
+
Debugging option that disables JIT compilation after compiling a certain number of functions.
1091
+
This may be helpful to bisect the source of a JIT miscompilation. Note: this option only works
1092
+
when JIT trigger is set to 0 (compile on script load) or 1 (compile on first execution),
1093
+
e.g., <code>opcache.jit=1215</code>. See more in <link linkend="ini.opcache.jit">opcache.jit</link> option.
1094
+
</para>
1095
+
</listitem>
1096
+
</varlistentry>
1097
+
<varlistentry xml:id="ini.opcache.jit-prof-threshold">
1098
+
<term>
1099
+
<parameter>opcache.jit_prof_threshold</parameter>
1100
+
<type>float</type>
1101
+
</term>
1102
+
<listitem>
1103
+
<para>
1104
+
When using the "profile on first request" trigger mode, this threshold determines whether a
1105
+
function is considered hot. The number of calls to the function divided by the number of calls
1106
+
to all functions must be above the threshold. For example, a threshold of 0.005 means that
1107
+
functions that made up more than 0.5% of all calls will be JIT compiled.
1108
+
</para>
1109
+
</listitem>
1110
+
</varlistentry>
1111
+
<varlistentry xml:id="ini.opcache.jit-max-root-traces">
1112
+
<term>
1113
+
<parameter>opcache.jit_max_root_traces</parameter>
1114
+
<type>int</type>
1115
+
</term>
1116
+
<listitem>
1117
+
<para>
1118
+
Maximum number of root traces. The root trace is an execution flow taking one path through the code firstly,
1119
+
which is a unit of JIT compilation. JIT will not compile new code if it reaches this limit.
1120
+
</para>
1121
+
</listitem>
1122
+
</varlistentry>
1123
+
<varlistentry xml:id="ini.opcache.jit-max-side-traces">
1124
+
<term>
1125
+
<parameter>opcache.jit_max_side_traces</parameter>
1126
+
<type>int</type>
1127
+
</term>
1128
+
<listitem>
1129
+
<para>
1130
+
Maximum number of side traces a root trace may have. The side trace is another execution flow that does not
1131
+
follow the path of compiled root trace. Side traces belonging to the same root trace will not be compiled
1132
+
if it reaches this limit.
1133
+
</para>
1134
+
</listitem>
1135
+
</varlistentry>
1136
+
<varlistentry xml:id="ini.opcache.jit-max-exit-counters">
1137
+
<term>
1138
+
<parameter>opcache.jit_max_exit_counters</parameter>
1139
+
<type>int</type>
1140
+
</term>
1141
+
<listitem>
1142
+
<para>
1143
+
Maximum number of side trace exit counters. This limits the total number of side traces
1144
+
there may be, across all root traces.
1145
+
</para>
1146
+
</listitem>
1147
+
</varlistentry>
1148
+
<varlistentry xml:id="ini.opcache.jit-hot-loop">
1149
+
<term>
1150
+
<parameter>opcache.jit_hot_loop</parameter>
1151
+
<type>int</type>
1152
+
</term>
1153
+
<listitem>
1154
+
<para>
1155
+
After how many iterations a loop is considered hot.
1156
+
Valid value range is <code>[0,255]</code>; for any setting out of this range,
1157
+
e.g., -1 or 256, default value will be used instead. Specially, a zero value
1158
+
will disable JIT to trace and compile any loops.
1159
+
</para>
1160
+
</listitem>
1161
+
</varlistentry>
1162
+
<varlistentry xml:id="ini.opcache.jit-hot-func">
1163
+
<term>
1164
+
<parameter>opcache.jit_hot_func</parameter>
1165
+
<type>int</type>
1166
+
</term>
1167
+
<listitem>
1168
+
<para>
1169
+
After how many calls a function is considered hot.
1170
+
Valid value range is <code>[0,255]</code>; for any setting out of this range,
1171
+
e.g., -1 or 256, default value will be used instead. Specially, a zero value
1172
+
will disable JIT to trace and compile any functions.
1173
+
</para>
1174
+
</listitem>
1175
+
</varlistentry>
1176
+
<varlistentry xml:id="ini.opcache.jit-hot-return">
1177
+
<term>
1178
+
<parameter>opcache.jit_hot_return</parameter>
1179
+
<type>int</type>
1180
+
</term>
1181
+
<listitem>
1182
+
<para>
1183
+
After how many returns a return is considered hot.
1184
+
Valid value range is <code>[0,255]</code>; for any setting out of this range,
1185
+
e.g., -1 or 256, default value will be used instead. Specially, a zero value
1186
+
will disable JIT to trace and compile any returns.
1187
+
</para>
1188
+
</listitem>
1189
+
</varlistentry>
1190
+
<varlistentry xml:id="ini.opcache.jit-hot-side-exit">
1191
+
<term>
1192
+
<parameter>opcache.jit_hot_side_exit</parameter>
1193
+
<type>int</type>
1194
+
</term>
1195
+
<listitem>
1196
+
<para>
1197
+
After how many exits a side exit is considered hot.
1198
+
Valid value range is <code>[0,255]</code>; for any setting out of this range,
1199
+
e.g., -1 or 256, default value will be used instead. Specially, a zero value
1200
+
will disable JIT to trace and compile any side exits.
1201
+
</para>
1202
+
</listitem>
1203
+
</varlistentry>
1204
+
<varlistentry xml:id="ini.opcache.jit-blacklist-root-trace">
1205
+
<term>
1206
+
<parameter>opcache.jit_blacklist_root_trace</parameter>
1207
+
<type>int</type>
1208
+
</term>
1209
+
<listitem>
1210
+
<para>
1211
+
Maximum number of times the compilation of a root trace is attempted before it is blacklisted.
1212
+
</para>
1213
+
</listitem>
1214
+
</varlistentry>
1215
+
<varlistentry xml:id="ini.opcache.jit-blacklist-side-trace">
1216
+
<term>
1217
+
<parameter>opcache.jit_blacklist_side_trace</parameter>
1218
+
<type>int</type>
1219
+
</term>
1220
+
<listitem>
1221
+
<para>
1222
+
Maximum number of times the compilation of a side trace is attempted before it is blacklisted.
1223
+
</para>
1224
+
</listitem>
1225
+
</varlistentry>
1226
+
<varlistentry xml:id="ini.opcache.jit-max-loop-unrolls">
1227
+
<term>
1228
+
<parameter>opcache.jit_max_loop_unrolls</parameter>
1229
+
<type>int</type>
1230
+
</term>
1231
+
<listitem>
1232
+
<para>
1233
+
Maximum number of attempts to unroll a loop in a side trace,
1234
+
trying to reach the root trace and close the outer loop.
1235
+
</para>
1236
+
</listitem>
1237
+
</varlistentry>
1238
+
<varlistentry xml:id="ini.opcache.jit-max-recursive-calls">
1239
+
<term>
1240
+
<parameter>opcache.jit_max_recursive_calls</parameter>
1241
+
<type>int</type>
1242
+
</term>
1243
+
<listitem>
1244
+
<para>
1245
+
Maximum number of unrolled recursive call loops.
1246
+
</para>
1247
+
</listitem>
1248
+
</varlistentry>
1249
+
<varlistentry xml:id="ini.opcache.jit-max-recursive-return">
1250
+
<term>
1251
+
<parameter>opcache.jit_max_recursive_returns</parameter>
1252
+
<type>int</type>
1253
+
</term>
1254
+
<listitem>
1255
+
<para>
1256
+
Maximum number of unrolled recursive return loops.
1257
+
</para>
1258
+
</listitem>
1259
+
</varlistentry>
1260
+
<varlistentry xml:id="ini.opcache.jit-max-polymorphic-calls">
1261
+
<term>
1262
+
<parameter>opcache.jit_max_polymorphic_calls</parameter>
1263
+
<type>int</type>
1264
+
</term>
1265
+
<listitem>
1266
+
<para>
1267
+
Maximum number of attempts to inline polymorphic (dynamic or method) calls.
1268
+
Calls above this limit are treated as megamorphic and are not inlined.
815
1269
</para>
816
1270
</listitem>
817
1271
</varlistentry>
818
1272