Completed
Pull Request — master (#526)
by Juliette
03:21 queued 01:43
created

NewConstantsSniff::getItemArray()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
/**
3
 * \PHPCompatibility\Sniffs\PHP\NewConstantsSniff.
4
 *
5
 * @category PHP
6
 * @package  PHPCompatibility
7
 * @author   Juliette Reinders Folmer <[email protected]>
8
 */
9
10
namespace PHPCompatibility\Sniffs\PHP;
11
12
use PHPCompatibility\AbstractNewFeatureSniff;
13
14
/**
15
 * \PHPCompatibility\Sniffs\PHP\NewConstantsSniff.
16
 *
17
 * @category PHP
18
 * @package  PHPCompatibility
19
 * @author   Juliette Reinders Folmer <[email protected]>
20
 */
21
class NewConstantsSniff extends AbstractNewFeatureSniff
22
{
23
24
    /**
25
     * A list of new PHP Constants, not present in older versions.
26
     *
27
     * The array lists : version number with false (not present) or true (present).
28
     * If's sufficient to list the first version where the constant appears.
29
     *
30
     * Note: PHP Constants are case-sensitive!
31
     *
32
     * @var array(string => array(string => bool|string|null))
33
     */
34
    protected $newConstants = array(
35
        'E_STRICT' => array(
36
            '4.4' => false,
37
            '5.0' => true
38
        ),
39
        // Curl:
40
        'CURLOPT_FTP_USE_EPRT' => array(
41
            '4.4' => false,
42
            '5.0' => true
43
        ),
44
        'CURLOPT_NOSIGNAL' => array(
45
            '4.4' => false,
46
            '5.0' => true
47
        ),
48
        'CURLOPT_UNRESTRICTED_AUTH' => array(
49
            '4.4' => false,
50
            '5.0' => true
51
        ),
52
        'CURLOPT_BUFFERSIZE' => array(
53
            '4.4' => false,
54
            '5.0' => true
55
        ),
56
        'CURLOPT_HTTPAUTH' => array(
57
            '4.4' => false,
58
            '5.0' => true
59
        ),
60
        'CURLOPT_PROXYPORT' => array(
61
            '4.4' => false,
62
            '5.0' => true
63
        ),
64
        'CURLOPT_PROXYTYPE' => array(
65
            '4.4' => false,
66
            '5.0' => true
67
        ),
68
        'CURLOPT_SSLCERTTYPE' => array(
69
            '4.4' => false,
70
            '5.0' => true
71
        ),
72
        'CURLOPT_HTTP200ALIASES' => array(
73
            '4.4' => false,
74
            '5.0' => true
75
        ),
76
        // OpenSSL:
77
        'OPENSSL_ALGO_MD2' => array(
78
            '4.4' => false,
79
            '5.0' => true
80
        ),
81
        'OPENSSL_ALGO_MD4' => array(
82
            '4.4' => false,
83
            '5.0' => true
84
        ),
85
        'OPENSSL_ALGO_MD5' => array(
86
            '4.4' => false,
87
            '5.0' => true
88
        ),
89
        'OPENSSL_ALGO_SHA1' => array(
90
            '4.4' => false,
91
            '5.0' => true
92
        ),
93
        'OPENSSL_ALGO_DSS1' => array(
94
            '4.4' => false,
95
            '5.0' => true
96
        ),
97
        // Tokenizer:
98
        'T_ABSTRACT' => array(
99
            '4.4' => false,
100
            '5.0' => true
101
        ),
102
        'T_CATCH' => array(
103
            '4.4' => false,
104
            '5.0' => true
105
        ),
106
107
        'SORT_LOCALE_STRING' => array(
108
            '5.0.1' => false,
109
            '5.0.2' => true
110
        ),
111
        'PHP_EOL' => array(
112
            '5.0.1' => false,
113
            '5.0.2' => true
114
        ),
115
116
        'PHP_INT_MAX' => array(
117
            '5.0.4' => false,
118
            '5.0.5' => true
119
        ),
120
        'PHP_INT_SIZE' => array(
121
            '5.0.4' => false,
122
            '5.0.5' => true
123
        ),
124
125
        '__COMPILER_HALT_OFFSET__' => array(
126
            '5.0' => false,
127
            '5.1' => true
128
        ),
129
        'GLOB_ERR' => array(
130
            '5.0' => false,
131
            '5.1' => true
132
        ),
133
        // Curl:
134
        'CURLOPT_AUTOREFERER' => array(
135
            '5.0' => false,
136
            '5.1' => true
137
        ),
138
        'CURLOPT_BINARYTRANSFER' => array(
139
            '5.0' => false,
140
            '5.1' => true
141
        ),
142
        'CURLOPT_COOKIESESSION' => array(
143
            '5.0' => false,
144
            '5.1' => true
145
        ),
146
        'CURLOPT_FTPSSLAUTH' => array(
147
            '5.0' => false,
148
            '5.1' => true
149
        ),
150
        'CURLOPT_PROXYAUTH' => array(
151
            '5.0' => false,
152
            '5.1' => true
153
        ),
154
        'CURLOPT_TIMECONDITION' => array(
155
            '5.0' => false,
156
            '5.1' => true
157
        ),
158
        // POSIX:
159
        'POSIX_F_OK' => array(
160
            '5.0' => false,
161
            '5.1' => true
162
        ),
163
        'POSIX_R_OK' => array(
164
            '5.0' => false,
165
            '5.1' => true
166
        ),
167
        'POSIX_W_OK' => array(
168
            '5.0' => false,
169
            '5.1' => true
170
        ),
171
        'POSIX_X_OK' => array(
172
            '5.0' => false,
173
            '5.1' => true
174
        ),
175
        'POSIX_S_IFBLK' => array(
176
            '5.0' => false,
177
            '5.1' => true
178
        ),
179
        'POSIX_S_IFCHR' => array(
180
            '5.0' => false,
181
            '5.1' => true
182
        ),
183
        'POSIX_S_IFIFO' => array(
184
            '5.0' => false,
185
            '5.1' => true
186
        ),
187
        'POSIX_S_IFREG' => array(
188
            '5.0' => false,
189
            '5.1' => true
190
        ),
191
        'POSIX_S_IFSOCK' => array(
192
            '5.0' => false,
193
            '5.1' => true
194
        ),
195
        // Streams:
196
        'STREAM_IPPROTO_ICMP' => array(
197
            '5.0' => false,
198
            '5.1' => true
199
        ),
200
        'STREAM_IPPROTO_IP' => array(
201
            '5.0' => false,
202
            '5.1' => true
203
        ),
204
        'STREAM_IPPROTO_RAW' => array(
205
            '5.0' => false,
206
            '5.1' => true
207
        ),
208
        'STREAM_IPPROTO_TCP' => array(
209
            '5.0' => false,
210
            '5.1' => true
211
        ),
212
        'STREAM_IPPROTO_UDP' => array(
213
            '5.0' => false,
214
            '5.1' => true
215
        ),
216
        'STREAM_PF_INET' => array(
217
            '5.0' => false,
218
            '5.1' => true
219
        ),
220
        'STREAM_PF_INET6' => array(
221
            '5.0' => false,
222
            '5.1' => true
223
        ),
224
        'STREAM_PF_UNIX' => array(
225
            '5.0' => false,
226
            '5.1' => true
227
        ),
228
        'STREAM_SOCK_DGRAM' => array(
229
            '5.0' => false,
230
            '5.1' => true
231
        ),
232
        'STREAM_SOCK_RAW' => array(
233
            '5.0' => false,
234
            '5.1' => true
235
        ),
236
        'STREAM_SOCK_RDM' => array(
237
            '5.0' => false,
238
            '5.1' => true
239
        ),
240
        'STREAM_SOCK_SEQPACKET' => array(
241
            '5.0' => false,
242
            '5.1' => true
243
        ),
244
        'STREAM_SOCK_STREAM' => array(
245
            '5.0' => false,
246
            '5.1' => true
247
        ),
248
        // Tokenizer:
249
        'T_HALT_COMPILER' => array(
250
            '5.0' => false,
251
            '5.1' => true
252
        ),
253
254
        // Date/Time:
255
        'DATE_ATOM' => array(
256
            '5.1.0' => false,
257
            '5.1.1' => true
258
        ),
259
        'DATE_COOKIE' => array(
260
            '5.1.0' => false,
261
            '5.1.1' => true
262
        ),
263
        'DATE_ISO8601' => array(
264
            '5.1.0' => false,
265
            '5.1.1' => true
266
        ),
267
        'DATE_RFC822' => array(
268
            '5.1.0' => false,
269
            '5.1.1' => true
270
        ),
271
        'DATE_RFC850' => array(
272
            '5.1.0' => false,
273
            '5.1.1' => true
274
        ),
275
        'DATE_RFC1036' => array(
276
            '5.1.0' => false,
277
            '5.1.1' => true
278
        ),
279
        'DATE_RFC1123' => array(
280
            '5.1.0' => false,
281
            '5.1.1' => true
282
        ),
283
        'DATE_RFC2822' => array(
284
            '5.1.0' => false,
285
            '5.1.1' => true
286
        ),
287
        'DATE_RFC3339' => array(
288
            '5.1.0' => false,
289
            '5.1.1' => true
290
        ),
291
        'DATE_RSS' => array(
292
            '5.1.0' => false,
293
            '5.1.1' => true
294
        ),
295
        'DATE_W3C' => array(
296
            '5.1.0' => false,
297
            '5.1.1' => true
298
        ),
299
300
        // Date/Time:
301
        'SUNFUNCS_RET_TIMESTAMP' => array(
302
            '5.1.1' => false,
303
            '5.1.2' => true
304
        ),
305
        'SUNFUNCS_RET_STRING' => array(
306
            '5.1.1' => false,
307
            '5.1.2' => true
308
        ),
309
        'SUNFUNCS_RET_DOUBLE' => array(
310
            '5.1.1' => false,
311
            '5.1.2' => true
312
        ),
313
        // XSL:
314
        'LIBXSLT_VERSION' => array(
315
            '5.1.1' => false,
316
            '5.1.2' => true
317
        ),
318
        'LIBXSLT_DOTTED_VERSION' => array(
319
            '5.1.1' => false,
320
            '5.1.2' => true
321
        ),
322
        'LIBEXSLT_VERSION' => array(
323
            '5.1.1' => false,
324
            '5.1.2' => true
325
        ),
326
        'LIBEXSLT_DOTTED_VERSION' => array(
327
            '5.1.1' => false,
328
            '5.1.2' => true
329
        ),
330
        // URL:
331
        'PHP_URL_SCHEME' => array(
332
            '5.1.1' => false,
333
            '5.1.2' => true
334
        ),
335
        'PHP_URL_HOST' => array(
336
            '5.1.1' => false,
337
            '5.1.2' => true
338
        ),
339
        'PHP_URL_PORT' => array(
340
            '5.1.1' => false,
341
            '5.1.2' => true
342
        ),
343
        'PHP_URL_USER' => array(
344
            '5.1.1' => false,
345
            '5.1.2' => true
346
        ),
347
        'PHP_URL_PASS' => array(
348
            '5.1.1' => false,
349
            '5.1.2' => true
350
        ),
351
        'PHP_URL_PATH' => array(
352
            '5.1.1' => false,
353
            '5.1.2' => true
354
        ),
355
        'PHP_URL_QUERY' => array(
356
            '5.1.1' => false,
357
            '5.1.2' => true
358
        ),
359
        'PHP_URL_FRAGMENT' => array(
360
            '5.1.1' => false,
361
            '5.1.2' => true
362
        ),
363
        'PHP_QUERY_RFC1738' => array(
364
            '5.1.1' => false,
365
            '5.1.2' => true
366
        ),
367
        'PHP_QUERY_RFC3986' => array(
368
            '5.1.1' => false,
369
            '5.1.2' => true
370
        ),
371
372
        // Curl:
373
        'CURLINFO_HEADER_OUT' => array(
374
            '5.1.2' => false,
375
            '5.1.3' => true
376
        ),
377
378
        // Core:
379
        'E_RECOVERABLE_ERROR' => array(
380
            '5.1' => false,
381
            '5.2' => true
382
        ),
383
        // Math:
384
        'M_EULER' => array(
385
            '5.1' => false,
386
            '5.2' => true
387
        ),
388
        'M_LNPI' => array(
389
            '5.1' => false,
390
            '5.2' => true
391
        ),
392
        'M_SQRT3' => array(
393
            '5.1' => false,
394
            '5.2' => true
395
        ),
396
        'M_SQRTPI' => array(
397
            '5.1' => false,
398
            '5.2' => true
399
        ),
400
        'PATHINFO_FILENAME' => array(
401
            '5.1' => false,
402
            '5.2' => true
403
        ),
404
        'UPLOAD_ERR_EXTENSION' => array(
405
            '5.1' => false,
406
            '5.2' => true
407
        ),
408
        // Curl:
409
        'CURLE_FILESIZE_EXCEEDED' => array(
410
            '5.1' => false,
411
            '5.2' => true
412
        ),
413
        'CURLE_FTP_SSL_FAILED' => array(
414
            '5.1' => false,
415
            '5.2' => true
416
        ),
417
        'CURLE_LDAP_INVALID_URL' => array(
418
            '5.1' => false,
419
            '5.2' => true
420
        ),
421
        'CURLFTPAUTH_DEFAULT' => array(
422
            '5.1' => false,
423
            '5.2' => true
424
        ),
425
        'CURLFTPAUTH_SSL' => array(
426
            '5.1' => false,
427
            '5.2' => true
428
        ),
429
        'CURLFTPAUTH_TLS' => array(
430
            '5.1' => false,
431
            '5.2' => true
432
        ),
433
        'CURLFTPSSL_ALL' => array(
434
            '5.1' => false,
435
            '5.2' => true
436
        ),
437
        'CURLFTPSSL_CONTROL' => array(
438
            '5.1' => false,
439
            '5.2' => true
440
        ),
441
        'CURLFTPSSL_NONE' => array(
442
            '5.1' => false,
443
            '5.2' => true
444
        ),
445
        'CURLFTPSSL_TRY' => array(
446
            '5.1' => false,
447
            '5.2' => true
448
        ),
449
        'CURLOPT_FTP_SSL' => array(
450
            '5.1' => false,
451
            '5.2' => true
452
        ),
453
        // Ming:
454
        'SWFTEXTFIELD_USEFONT' => array(
455
            '5.1' => false,
456
            '5.2' => true
457
        ),
458
        'SWFTEXTFIELD_AUTOSIZE' => array(
459
            '5.1' => false,
460
            '5.2' => true
461
        ),
462
        'SWF_SOUND_NOT_COMPRESSED' => array(
463
            '5.1' => false,
464
            '5.2' => true
465
        ),
466
        'SWF_SOUND_ADPCM_COMPRESSED' => array(
467
            '5.1' => false,
468
            '5.2' => true
469
        ),
470
        'SWF_SOUND_MP3_COMPRESSED' => array(
471
            '5.1' => false,
472
            '5.2' => true
473
        ),
474
        'SWF_SOUND_NOT_COMPRESSED_LE' => array(
475
            '5.1' => false,
476
            '5.2' => true
477
        ),
478
        'SWF_SOUND_NELLY_COMPRESSED' => array(
479
            '5.1' => false,
480
            '5.2' => true
481
        ),
482
        'SWF_SOUND_5KHZ' => array(
483
            '5.1' => false,
484
            '5.2' => true
485
        ),
486
        'SWF_SOUND_11KHZ' => array(
487
            '5.1' => false,
488
            '5.2' => true
489
        ),
490
        'SWF_SOUND_22KHZ' => array(
491
            '5.1' => false,
492
            '5.2' => true
493
        ),
494
        'SWF_SOUND_44KHZ' => array(
495
            '5.1' => false,
496
            '5.2' => true
497
        ),
498
        'SWF_SOUND_8BITS' => array(
499
            '5.1' => false,
500
            '5.2' => true
501
        ),
502
        'SWF_SOUND_16BITS' => array(
503
            '5.1' => false,
504
            '5.2' => true
505
        ),
506
        'SWF_SOUND_MONO' => array(
507
            '5.1' => false,
508
            '5.2' => true
509
        ),
510
        'SWF_SOUND_STEREO' => array(
511
            '5.1' => false,
512
            '5.2' => true
513
        ),
514
        // OpenSSL:
515
        'OPENSSL_KEYTYPE_EC' => array(
516
            '5.1' => false,
517
            '5.2' => true
518
        ),
519
        'OPENSSL_VERSION_NUMBER' => array(
520
            '5.1' => false,
521
            '5.2' => true
522
        ),
523
        'OPENSSL_VERSION_TEXT' => array(
524
            '5.1' => false,
525
            '5.2' => true
526
        ),
527
        // PCRE:
528
        'PREG_BACKTRACK_LIMIT_ERROR' => array(
529
            '5.1' => false,
530
            '5.2' => true
531
        ),
532
        'PREG_BAD_UTF8_ERROR' => array(
533
            '5.1' => false,
534
            '5.2' => true
535
        ),
536
        'PREG_INTERNAL_ERROR' => array(
537
            '5.1' => false,
538
            '5.2' => true
539
        ),
540
        'PREG_NO_ERROR' => array(
541
            '5.1' => false,
542
            '5.2' => true
543
        ),
544
        'PREG_RECURSION_LIMIT_ERROR' => array(
545
            '5.1' => false,
546
            '5.2' => true
547
        ),
548
        // Snmp:
549
        'SNMP_OID_OUTPUT_FULL' => array(
550
            '5.1' => false,
551
            '5.2' => true
552
        ),
553
        'SNMP_OID_OUTPUT_NUMERIC' => array(
554
            '5.1' => false,
555
            '5.2' => true
556
        ),
557
        // Semaphore:
558
        'MSG_EAGAIN' => array(
559
            '5.1' => false,
560
            '5.2' => true
561
        ),
562
        'MSG_ENOMSG' => array(
563
            '5.1' => false,
564
            '5.2' => true
565
        ),
566
567
        // Curl:
568
        'CURLOPT_TCP_NODELAY' => array(
569
            '5.2.0' => false,
570
            '5.2.1' => true
571
        ),
572
573
        // Stream:
574
        'STREAM_SHUT_RD' => array(
575
            '5.2.0' => false,
576
            '5.2.1' => true
577
        ),
578
        'STREAM_SHUT_WR' => array(
579
            '5.2.0' => false,
580
            '5.2.1' => true
581
        ),
582
        'STREAM_SHUT_RDWR' => array(
583
            '5.2.0' => false,
584
            '5.2.1' => true
585
        ),
586
587
        'GMP_VERSION' => array(
588
            '5.2.1' => false,
589
            '5.2.2' => true
590
        ),
591
592
        // Curl:
593
        'CURLOPT_TIMEOUT_MS' => array(
594
            '5.2.2' => false,
595
            '5.2.3' => true
596
        ),
597
        'CURLOPT_CONNECTTIMEOUT_MS' => array(
598
            '5.2.2' => false,
599
            '5.2.3' => true
600
        ),
601
602
        // Curl:
603
        'CURLOPT_PRIVATE' => array(
604
            '5.2.3' => false,
605
            '5.2.4' => true
606
        ),
607
        'CURLINFO_PRIVATE' => array(
608
            '5.2.3' => false,
609
            '5.2.4' => true
610
        ),
611
        // GD:
612
        'GD_VERSION' => array(
613
            '5.2.3' => false,
614
            '5.2.4' => true
615
        ),
616
        'GD_MAJOR_VERSION' => array(
617
            '5.2.3' => false,
618
            '5.2.4' => true
619
        ),
620
        'GD_MINOR_VERSION' => array(
621
            '5.2.3' => false,
622
            '5.2.4' => true
623
        ),
624
        'GD_RELEASE_VERSION' => array(
625
            '5.2.3' => false,
626
            '5.2.4' => true
627
        ),
628
        'GD_EXTRA_VERSION' => array(
629
            '5.2.3' => false,
630
            '5.2.4' => true
631
        ),
632
        // PCRE:
633
        'PCRE_VERSION' => array(
634
            '5.2.3' => false,
635
            '5.2.4' => true
636
        ),
637
638
        'PHP_MAJOR_VERSION' => array(
639
            '5.2.6' => false,
640
            '5.2.7' => true
641
        ),
642
        'PHP_MINOR_VERSION' => array(
643
            '5.2.6' => false,
644
            '5.2.7' => true
645
        ),
646
        'PHP_RELEASE_VERSION' => array(
647
            '5.2.6' => false,
648
            '5.2.7' => true
649
        ),
650
        'PHP_VERSION_ID' => array(
651
            '5.2.6' => false,
652
            '5.2.7' => true
653
        ),
654
        'PHP_EXTRA_VERSION' => array(
655
            '5.2.6' => false,
656
            '5.2.7' => true
657
        ),
658
        'PHP_ZTS' => array(
659
            '5.2.6' => false,
660
            '5.2.7' => true
661
        ),
662
        'PHP_DEBUG' => array(
663
            '5.2.6' => false,
664
            '5.2.7' => true
665
        ),
666
        'FILE_BINARY' => array(
667
            '5.2.6' => false,
668
            '5.2.7' => true
669
        ),
670
        'FILE_TEXT' => array(
671
            '5.2.6' => false,
672
            '5.2.7' => true
673
        ),
674
        // Sockets:
675
        'TCP_NODELAY' => array(
676
            '5.2.6' => false,
677
            '5.2.7' => true
678
        ),
679
680
        // Curl:
681
        'CURLOPT_PROTOCOLS' => array(
682
            '5.2.9'  => false,
683
            '5.2.10' => true
684
        ),
685
        'CURLOPT_REDIR_PROTOCOLS' => array(
686
            '5.2.9'  => false,
687
            '5.2.10' => true
688
        ),
689
        'CURLPROXY_SOCKS4' => array(
690
            '5.2.9'  => false,
691
            '5.2.10' => true
692
        ),
693
694
        // Libxml:
695
        'LIBXML_PARSEHUGE' => array(
696
            '5.2.11'  => false,
697
            '5.2.12' => true
698
        ),
699
700
        // Core:
701
        'ENT_IGNORE' => array(
702
            '5.2' => false,
703
            '5.3' => true
704
        ),
705
        'E_DEPRECATED' => array(
706
            '5.2' => false,
707
            '5.3' => true
708
        ),
709
        'E_USER_DEPRECATED' => array(
710
            '5.2' => false,
711
            '5.3' => true
712
        ),
713
        'INI_SCANNER_NORMAL' => array(
714
            '5.2' => false,
715
            '5.3' => true
716
        ),
717
        'INI_SCANNER_RAW' => array(
718
            '5.2' => false,
719
            '5.3' => true
720
        ),
721
        'PHP_MAXPATHLEN' => array(
722
            '5.2' => false,
723
            '5.3' => true
724
        ),
725
        'PHP_WINDOWS_NT_DOMAIN_CONTROLLER' => array(
726
            '5.2' => false,
727
            '5.3' => true
728
        ),
729
        'PHP_WINDOWS_NT_SERVER' => array(
730
            '5.2' => false,
731
            '5.3' => true
732
        ),
733
        'PHP_WINDOWS_NT_WORKSTATION' => array(
734
            '5.2' => false,
735
            '5.3' => true
736
        ),
737
        'PHP_WINDOWS_VERSION_BUILD' => array(
738
            '5.2' => false,
739
            '5.3' => true
740
        ),
741
        'PHP_WINDOWS_VERSION_MAJOR' => array(
742
            '5.2' => false,
743
            '5.3' => true
744
        ),
745
        'PHP_WINDOWS_VERSION_MINOR' => array(
746
            '5.2' => false,
747
            '5.3' => true
748
        ),
749
        'PHP_WINDOWS_VERSION_PLATFORM' => array(
750
            '5.2' => false,
751
            '5.3' => true
752
        ),
753
        'PHP_WINDOWS_VERSION_PRODUCTTYPE' => array(
754
            '5.2' => false,
755
            '5.3' => true
756
        ),
757
        'PHP_WINDOWS_VERSION_SP_MAJOR' => array(
758
            '5.2' => false,
759
            '5.3' => true
760
        ),
761
        'PHP_WINDOWS_VERSION_SP_MINOR' => array(
762
            '5.2' => false,
763
            '5.3' => true
764
        ),
765
        'PHP_WINDOWS_VERSION_SUITEMASK' => array(
766
            '5.2' => false,
767
            '5.3' => true
768
        ),
769
        // Curl:
770
        'CURLINFO_CERTINFO' => array(
771
            '5.2' => false,
772
            '5.3' => true
773
        ),
774
        'CURLOPT_PROGRESSFUNCTION' => array(
775
            '5.2' => false,
776
            '5.3' => true
777
        ),
778
        'CURLE_SSH' => array(
779
            '5.2' => false,
780
            '5.3' => true
781
        ),
782
        // GD:
783
        'IMG_FILTER_PIXELATE' => array(
784
            '5.2' => false,
785
            '5.3' => true
786
        ),
787
        'IMAGETYPE_ICO' => array(
788
            '5.2' => false,
789
            '5.3' => true
790
        ),
791
        // Fileinfo:
792
        'FILEINFO_MIME_TYPE' => array(
793
            '5.2' => false,
794
            '5.3' => true
795
        ),
796
        'FILEINFO_MIME_ENCODING' => array(
797
            '5.2' => false,
798
            '5.3' => true
799
        ),
800
        // JSON:
801
        'JSON_ERROR_CTRL_CHAR' => array(
802
            '5.2' => false,
803
            '5.3' => true
804
        ),
805
        'JSON_ERROR_DEPTH' => array(
806
            '5.2' => false,
807
            '5.3' => true
808
        ),
809
        'JSON_ERROR_NONE' => array(
810
            '5.2' => false,
811
            '5.3' => true
812
        ),
813
        'JSON_ERROR_STATE_MISMATCH' => array(
814
            '5.2' => false,
815
            '5.3' => true
816
        ),
817
        'JSON_ERROR_SYNTAX' => array(
818
            '5.2' => false,
819
            '5.3' => true
820
        ),
821
        'JSON_FORCE_OBJECT' => array(
822
            '5.2' => false,
823
            '5.3' => true
824
        ),
825
        'JSON_HEX_TAG' => array(
826
            '5.2' => false,
827
            '5.3' => true
828
        ),
829
        'JSON_HEX_AMP' => array(
830
            '5.2' => false,
831
            '5.3' => true
832
        ),
833
        'JSON_HEX_APOS' => array(
834
            '5.2' => false,
835
            '5.3' => true
836
        ),
837
        'JSON_HEX_QUOT' => array(
838
            '5.2' => false,
839
            '5.3' => true
840
        ),
841
        // LDAP:
842
        'LDAP_OPT_NETWORK_TIMEOUT' => array(
843
            '5.2' => false,
844
            '5.3' => true
845
        ),
846
        // libxml:
847
        'LIBXML_LOADED_VERSION' => array(
848
            '5.2' => false,
849
            '5.3' => true
850
        ),
851
        // Math:
852
        'PHP_ROUND_HALF_UP' => array(
853
            '5.2' => false,
854
            '5.3' => true
855
        ),
856
        'PHP_ROUND_HALF_DOWN' => array(
857
            '5.2' => false,
858
            '5.3' => true
859
        ),
860
        'PHP_ROUND_HALF_EVEN' => array(
861
            '5.2' => false,
862
            '5.3' => true
863
        ),
864
        'PHP_ROUND_HALF_ODD' => array(
865
            '5.2' => false,
866
            '5.3' => true
867
        ),
868
        // Mysqli
869
        'MYSQLI_OPT_INT_AND_FLOAT_NATIVE' => array(
870
            '5.2' => false,
871
            '5.3' => true
872
        ),
873
        'MYSQLI_OPT_NET_CMD_BUFFER_SIZE' => array(
874
            '5.2' => false,
875
            '5.3' => true
876
        ),
877
        'MYSQLI_OPT_NET_READ_BUFFER_SIZE' => array(
878
            '5.2' => false,
879
            '5.3' => true
880
        ),
881
        'MYSQLI_OPT_SSL_VERIFY_SERVER_CERT' => array(
882
            '5.2' => false,
883
            '5.3' => true
884
        ),
885
        // OCI8:
886
        'OCI_CRED_EXT' => array(
887
            '5.2' => false,
888
            '5.3' => true
889
        ),
890
        // PCRE:
891
        'PREG_BAD_UTF8_OFFSET_ERROR' => array(
892
            '5.2' => false,
893
            '5.3' => true
894
        ),
895
        // PCNTL:
896
        'BUS_ADRALN' => array(
897
            '5.2' => false,
898
            '5.3' => true
899
        ),
900
        'BUS_ADRERR' => array(
901
            '5.2' => false,
902
            '5.3' => true
903
        ),
904
        'BUS_OBJERR' => array(
905
            '5.2' => false,
906
            '5.3' => true
907
        ),
908
        'CLD_CONTIUNED' => array(
909
            '5.2' => false,
910
            '5.3' => true
911
        ),
912
        'CLD_DUMPED' => array(
913
            '5.2' => false,
914
            '5.3' => true
915
        ),
916
        'CLD_EXITED' => array(
917
            '5.2' => false,
918
            '5.3' => true
919
        ),
920
        'CLD_KILLED' => array(
921
            '5.2' => false,
922
            '5.3' => true
923
        ),
924
        'CLD_STOPPED' => array(
925
            '5.2' => false,
926
            '5.3' => true
927
        ),
928
        'CLD_TRAPPED' => array(
929
            '5.2' => false,
930
            '5.3' => true
931
        ),
932
        'FPE_FLTDIV' => array(
933
            '5.2' => false,
934
            '5.3' => true
935
        ),
936
        'FPE_FLTINV' => array(
937
            '5.2' => false,
938
            '5.3' => true
939
        ),
940
        'FPE_FLTOVF' => array(
941
            '5.2' => false,
942
            '5.3' => true
943
        ),
944
        'FPE_FLTRES' => array(
945
            '5.2' => false,
946
            '5.3' => true
947
        ),
948
        'FPE_FLTSUB' => array(
949
            '5.2' => false,
950
            '5.3' => true
951
        ),
952
        'FPE_FLTUND' => array(
953
            '5.2' => false,
954
            '5.3' => true
955
        ),
956
        'FPE_INTDIV' => array(
957
            '5.2' => false,
958
            '5.3' => true
959
        ),
960
        'FPE_INTOVF' => array(
961
            '5.2' => false,
962
            '5.3' => true
963
        ),
964
        'ILL_BADSTK' => array(
965
            '5.2' => false,
966
            '5.3' => true
967
        ),
968
        'ILL_COPROC' => array(
969
            '5.2' => false,
970
            '5.3' => true
971
        ),
972
        'ILL_ILLADR' => array(
973
            '5.2' => false,
974
            '5.3' => true
975
        ),
976
        'ILL_ILLOPC' => array(
977
            '5.2' => false,
978
            '5.3' => true
979
        ),
980
        'ILL_ILLOPN' => array(
981
            '5.2' => false,
982
            '5.3' => true
983
        ),
984
        'ILL_ILLTRP' => array(
985
            '5.2' => false,
986
            '5.3' => true
987
        ),
988
        'ILL_PRVOPC' => array(
989
            '5.2' => false,
990
            '5.3' => true
991
        ),
992
        'ILL_PRVREG' => array(
993
            '5.2' => false,
994
            '5.3' => true
995
        ),
996
        'POLL_ERR' => array(
997
            '5.2' => false,
998
            '5.3' => true
999
        ),
1000
        'POLL_HUP' => array(
1001
            '5.2' => false,
1002
            '5.3' => true
1003
        ),
1004
        'POLL_IN' => array(
1005
            '5.2' => false,
1006
            '5.3' => true
1007
        ),
1008
        'POLL_MSG' => array(
1009
            '5.2' => false,
1010
            '5.3' => true
1011
        ),
1012
        'POLL_OUT' => array(
1013
            '5.2' => false,
1014
            '5.3' => true
1015
        ),
1016
        'POLL_PRI' => array(
1017
            '5.2' => false,
1018
            '5.3' => true
1019
        ),
1020
        'SEGV_ACCERR' => array(
1021
            '5.2' => false,
1022
            '5.3' => true
1023
        ),
1024
        'SEGV_MAPERR' => array(
1025
            '5.2' => false,
1026
            '5.3' => true
1027
        ),
1028
        'SI_ASYNCIO' => array(
1029
            '5.2' => false,
1030
            '5.3' => true
1031
        ),
1032
        'SI_KERNEL' => array(
1033
            '5.2' => false,
1034
            '5.3' => true
1035
        ),
1036
        'SI_MSGGQ' => array(
1037
            '5.2' => false,
1038
            '5.3' => true
1039
        ),
1040
        'SI_NOINFO' => array(
1041
            '5.2' => false,
1042
            '5.3' => true
1043
        ),
1044
        'SI_QUEUE' => array(
1045
            '5.2' => false,
1046
            '5.3' => true
1047
        ),
1048
        'SI_SIGIO' => array(
1049
            '5.2' => false,
1050
            '5.3' => true
1051
        ),
1052
        'SI_TIMER' => array(
1053
            '5.2' => false,
1054
            '5.3' => true
1055
        ),
1056
        'SI_TKILL' => array(
1057
            '5.2' => false,
1058
            '5.3' => true
1059
        ),
1060
        'SI_USER' => array(
1061
            '5.2' => false,
1062
            '5.3' => true
1063
        ),
1064
        'SIG_BLOCK' => array(
1065
            '5.2' => false,
1066
            '5.3' => true
1067
        ),
1068
        'SIG_SETMASK' => array(
1069
            '5.2' => false,
1070
            '5.3' => true
1071
        ),
1072
        'SIG_UNBLOCK' => array(
1073
            '5.2' => false,
1074
            '5.3' => true
1075
        ),
1076
        'TRAP_BRKPT' => array(
1077
            '5.2' => false,
1078
            '5.3' => true
1079
        ),
1080
        'TRAP_TRACE' => array(
1081
            '5.2' => false,
1082
            '5.3' => true
1083
        ),
1084
        // Tokenizer:
1085
        'T_DIR' => array(
1086
            '5.2' => false,
1087
            '5.3' => true
1088
        ),
1089
        'T_GOTO' => array(
1090
            '5.2' => false,
1091
            '5.3' => true
1092
        ),
1093
        'T_NAMESPACE' => array(
1094
            '5.2' => false,
1095
            '5.3' => true
1096
        ),
1097
        'T_NS_C' => array(
1098
            '5.2' => false,
1099
            '5.3' => true
1100
        ),
1101
        'T_NS_SEPARATOR' => array(
1102
            '5.2' => false,
1103
            '5.3' => true
1104
        ),
1105
        'T_USE' => array(
1106
            '5.2' => false,
1107
            '5.3' => true
1108
        ),
1109
1110
        // OCI8:
1111
        'OCI_NO_AUTO_COMMIT' => array(
1112
            '5.3.1' => false,
1113
            '5.3.2' => true
1114
        ),
1115
        // OpenSSL:
1116
        'OPENSSL_TLSEXT_SERVER_NAME' => array(
1117
            '5.3.1' => false,
1118
            '5.3.2' => true
1119
        ),
1120
1121
        // JSON:
1122
        'JSON_ERROR_UTF8' => array(
1123
            '5.3.2' => false,
1124
            '5.3.3' => true
1125
        ),
1126
        'JSON_NUMERIC_CHECK' => array(
1127
            '5.3.2' => false,
1128
            '5.3.3' => true
1129
        ),
1130
1131
        'DEBUG_BACKTRACE_IGNORE_ARGS' => array(
1132
            '5.3.5' => false,
1133
            '5.3.6' => true
1134
        ),
1135
1136
        'CURLINFO_REDIRECT_URL' => array(
1137
            '5.3.6' => false,
1138
            '5.3.7' => true
1139
        ),
1140
        'PHP_MANDIR' => array(
1141
            '5.3.6' => false,
1142
            '5.3.7' => true
1143
        ),
1144
1145
        'PHP_BINARY' => array(
1146
            '5.3' => false,
1147
            '5.4' => true
1148
        ),
1149
        'SORT_NATURAL' => array(
1150
            '5.3' => false,
1151
            '5.4' => true
1152
        ),
1153
        'SORT_FLAG_CASE' => array(
1154
            '5.3' => false,
1155
            '5.4' => true
1156
        ),
1157
        'ENT_HTML401' => array(
1158
            '5.3' => false,
1159
            '5.4' => true
1160
        ),
1161
        'ENT_XML1' => array(
1162
            '5.3' => false,
1163
            '5.4' => true
1164
        ),
1165
        'ENT_XHTML' => array(
1166
            '5.3' => false,
1167
            '5.4' => true
1168
        ),
1169
        'ENT_HTML5' => array(
1170
            '5.3' => false,
1171
            '5.4' => true
1172
        ),
1173
        'ENT_SUBSTITUTE' => array(
1174
            '5.3' => false,
1175
            '5.4' => true
1176
        ),
1177
        'ENT_DISALLOWED' => array(
1178
            '5.3' => false,
1179
            '5.4' => true
1180
        ),
1181
        'IPPROTO_IP' => array(
1182
            '5.3' => false,
1183
            '5.4' => true
1184
        ),
1185
        'IPPROTO_IPV6' => array(
1186
            '5.3' => false,
1187
            '5.4' => true
1188
        ),
1189
        'IPV6_MULTICAST_HOPS' => array(
1190
            '5.3' => false,
1191
            '5.4' => true
1192
        ),
1193
        'IPV6_MULTICAST_IF' => array(
1194
            '5.3' => false,
1195
            '5.4' => true
1196
        ),
1197
        'IPV6_MULTICAST_LOOP' => array(
1198
            '5.3' => false,
1199
            '5.4' => true
1200
        ),
1201
        'IP_MULTICAST_IF' => array(
1202
            '5.3' => false,
1203
            '5.4' => true
1204
        ),
1205
        'IP_MULTICAST_LOOP' => array(
1206
            '5.3' => false,
1207
            '5.4' => true
1208
        ),
1209
        'IP_MULTICAST_TTL' => array(
1210
            '5.3' => false,
1211
            '5.4' => true
1212
        ),
1213
        'MCAST_JOIN_GROUP' => array(
1214
            '5.3' => false,
1215
            '5.4' => true
1216
        ),
1217
        'MCAST_LEAVE_GROUP' => array(
1218
            '5.3' => false,
1219
            '5.4' => true
1220
        ),
1221
        'MCAST_BLOCK_SOURCE' => array(
1222
            '5.3' => false,
1223
            '5.4' => true
1224
        ),
1225
        'MCAST_UNBLOCK_SOURCE' => array(
1226
            '5.3' => false,
1227
            '5.4' => true
1228
        ),
1229
        'MCAST_JOIN_SOURCE_GROUP' => array(
1230
            '5.3' => false,
1231
            '5.4' => true
1232
        ),
1233
        'MCAST_LEAVE_SOURCE_GROUP' => array(
1234
            '5.3' => false,
1235
            '5.4' => true
1236
        ),
1237
        // Curl:
1238
        'CURLOPT_MAX_RECV_SPEED_LARGE' => array(
1239
            '5.3' => false,
1240
            '5.4' => true
1241
        ),
1242
        'CURLOPT_MAX_SEND_SPEED_LARGE' => array(
1243
            '5.3' => false,
1244
            '5.4' => true
1245
        ),
1246
        // Directories:
1247
        'SCANDIR_SORT_ASCENDING' => array(
1248
            '5.3' => false,
1249
            '5.4' => true
1250
        ),
1251
        'SCANDIR_SORT_DESCENDING' => array(
1252
            '5.3' => false,
1253
            '5.4' => true
1254
        ),
1255
        'SCANDIR_SORT_NONE' => array(
1256
            '5.3' => false,
1257
            '5.4' => true
1258
        ),
1259
        // LibXML:
1260
        'LIBXML_HTML_NODEFDTD' => array(
1261
            '5.3' => false,
1262
            '5.4' => true
1263
        ),
1264
        'LIBXML_HTML_NOIMPLIED' => array(
1265
            '5.3' => false,
1266
            '5.4' => true
1267
        ),
1268
        'LIBXML_PEDANTIC' => array(
1269
            '5.3' => false,
1270
            '5.4' => true
1271
        ),
1272
        // OpenSSL:
1273
        'OPENSSL_CIPHER_AES_128_CBC' => array(
1274
            '5.3' => false,
1275
            '5.4' => true
1276
        ),
1277
        'OPENSSL_CIPHER_AES_192_CBC' => array(
1278
            '5.3' => false,
1279
            '5.4' => true
1280
        ),
1281
        'OPENSSL_CIPHER_AES_256_CBC' => array(
1282
            '5.3' => false,
1283
            '5.4' => true
1284
        ),
1285
        'OPENSSL_RAW_DATA' => array(
1286
            '5.3' => false,
1287
            '5.4' => true
1288
        ),
1289
        'OPENSSL_ZERO_PADDING' => array(
1290
            '5.3' => false,
1291
            '5.4' => true
1292
        ),
1293
        // Output buffering:
1294
        'PHP_OUTPUT_HANDLER_CLEAN' => array(
1295
            '5.3' => false,
1296
            '5.4' => true
1297
        ),
1298
        'PHP_OUTPUT_HANDLER_CLEANABLE' => array(
1299
            '5.3' => false,
1300
            '5.4' => true
1301
        ),
1302
        'PHP_OUTPUT_HANDLER_DISABLED' => array(
1303
            '5.3' => false,
1304
            '5.4' => true
1305
        ),
1306
        'PHP_OUTPUT_HANDLER_FINAL' => array(
1307
            '5.3' => false,
1308
            '5.4' => true
1309
        ),
1310
        'PHP_OUTPUT_HANDLER_FLUSH' => array(
1311
            '5.3' => false,
1312
            '5.4' => true
1313
        ),
1314
        'PHP_OUTPUT_HANDLER_FLUSHABLE' => array(
1315
            '5.3' => false,
1316
            '5.4' => true
1317
        ),
1318
        'PHP_OUTPUT_HANDLER_REMOVABLE' => array(
1319
            '5.3' => false,
1320
            '5.4' => true
1321
        ),
1322
        'PHP_OUTPUT_HANDLER_STARTED' => array(
1323
            '5.3' => false,
1324
            '5.4' => true
1325
        ),
1326
        'PHP_OUTPUT_HANDLER_STDFLAGS' => array(
1327
            '5.3' => false,
1328
            '5.4' => true
1329
        ),
1330
        'PHP_OUTPUT_HANDLER_WRITE' => array(
1331
            '5.3' => false,
1332
            '5.4' => true
1333
        ),
1334
        // Sessions:
1335
        'PHP_SESSION_ACTIVE' => array(
1336
            '5.3' => false,
1337
            '5.4' => true
1338
        ),
1339
        'PHP_SESSION_DISABLED' => array(
1340
            '5.3' => false,
1341
            '5.4' => true
1342
        ),
1343
        'PHP_SESSION_NONE' => array(
1344
            '5.3' => false,
1345
            '5.4' => true
1346
        ),
1347
        // Streams:
1348
        'STREAM_META_ACCESS' => array(
1349
            '5.3' => false,
1350
            '5.4' => true
1351
        ),
1352
        'STREAM_META_GROUP' => array(
1353
            '5.3' => false,
1354
            '5.4' => true
1355
        ),
1356
        'STREAM_META_GROUP_NAME' => array(
1357
            '5.3' => false,
1358
            '5.4' => true
1359
        ),
1360
        'STREAM_META_OWNER' => array(
1361
            '5.3' => false,
1362
            '5.4' => true
1363
        ),
1364
        'STREAM_META_OWNER_NAME' => array(
1365
            '5.3' => false,
1366
            '5.4' => true
1367
        ),
1368
        'STREAM_META_TOUCH' => array(
1369
            '5.3' => false,
1370
            '5.4' => true
1371
        ),
1372
        // Intl:
1373
        'U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR' => array(
1374
            '5.3' => false,
1375
            '5.4' => true
1376
        ),
1377
        'IDNA_CHECK_BIDI' => array(
1378
            '5.3' => false,
1379
            '5.4' => true
1380
        ),
1381
        'IDNA_CHECK_CONTEXTJ' => array(
1382
            '5.3' => false,
1383
            '5.4' => true
1384
        ),
1385
        'IDNA_NONTRANSITIONAL_TO_ASCII' => array(
1386
            '5.3' => false,
1387
            '5.4' => true
1388
        ),
1389
        'IDNA_NONTRANSITIONAL_TO_UNICODE' => array(
1390
            '5.3' => false,
1391
            '5.4' => true
1392
        ),
1393
        'INTL_IDNA_VARIANT_2003' => array(
1394
            '5.3' => false,
1395
            '5.4' => true
1396
        ),
1397
        'INTL_IDNA_VARIANT_UTS46' => array(
1398
            '5.3' => false,
1399
            '5.4' => true
1400
        ),
1401
        'IDNA_ERROR_EMPTY_LABEL' => array(
1402
            '5.3' => false,
1403
            '5.4' => true
1404
        ),
1405
        'IDNA_ERROR_LABEL_TOO_LONG' => array(
1406
            '5.3' => false,
1407
            '5.4' => true
1408
        ),
1409
        'IDNA_ERROR_DOMAIN_NAME_TOO_LONG' => array(
1410
            '5.3' => false,
1411
            '5.4' => true
1412
        ),
1413
        'IDNA_ERROR_LEADING_HYPHEN' => array(
1414
            '5.3' => false,
1415
            '5.4' => true
1416
        ),
1417
        'IDNA_ERROR_TRAILING_HYPHEN' => array(
1418
            '5.3' => false,
1419
            '5.4' => true
1420
        ),
1421
        'IDNA_ERROR_HYPHEN_3_4' => array(
1422
            '5.3' => false,
1423
            '5.4' => true
1424
        ),
1425
        'IDNA_ERROR_LEADING_COMBINING_MARK' => array(
1426
            '5.3' => false,
1427
            '5.4' => true
1428
        ),
1429
        'IDNA_ERROR_DISALLOWED' => array(
1430
            '5.3' => false,
1431
            '5.4' => true
1432
        ),
1433
        'IDNA_ERROR_PUNYCODE' => array(
1434
            '5.3' => false,
1435
            '5.4' => true
1436
        ),
1437
        'IDNA_ERROR_LABEL_HAS_DOT' => array(
1438
            '5.3' => false,
1439
            '5.4' => true
1440
        ),
1441
        'IDNA_ERROR_INVALID_ACE_LABEL' => array(
1442
            '5.3' => false,
1443
            '5.4' => true
1444
        ),
1445
        'IDNA_ERROR_BIDI' => array(
1446
            '5.3' => false,
1447
            '5.4' => true
1448
        ),
1449
        'IDNA_ERROR_CONTEXTJ' => array(
1450
            '5.3' => false,
1451
            '5.4' => true
1452
        ),
1453
        // Json:
1454
        'JSON_PRETTY_PRINT' => array(
1455
            '5.3' => false,
1456
            '5.4' => true
1457
        ),
1458
        'JSON_UNESCAPED_SLASHES' => array(
1459
            '5.3' => false,
1460
            '5.4' => true
1461
        ),
1462
        'JSON_UNESCAPED_UNICODE' => array(
1463
            '5.3' => false,
1464
            '5.4' => true
1465
        ),
1466
        'JSON_BIGINT_AS_STRING' => array(
1467
            '5.3' => false,
1468
            '5.4' => true
1469
        ),
1470
        'JSON_OBJECT_AS_ARRAY' => array(
1471
            '5.3' => false,
1472
            '5.4' => true
1473
        ),
1474
        // Snmp:
1475
        'SNMP_OID_OUTPUT_SUFFIX' => array(
1476
            '5.3' => false,
1477
            '5.4' => true
1478
        ),
1479
        'SNMP_OID_OUTPUT_MODULE' => array(
1480
            '5.3' => false,
1481
            '5.4' => true
1482
        ),
1483
        'SNMP_OID_OUTPUT_UCD' => array(
1484
            '5.3' => false,
1485
            '5.4' => true
1486
        ),
1487
        'SNMP_OID_OUTPUT_NONE' => array(
1488
            '5.3' => false,
1489
            '5.4' => true
1490
        ),
1491
        // Tokenizer:
1492
        'T_INSTEADOF' => array(
1493
            '5.3' => false,
1494
            '5.4' => true
1495
        ),
1496
        'T_TRAIT' => array(
1497
            '5.3' => false,
1498
            '5.4' => true
1499
        ),
1500
        'T_TRAIT_C' => array(
1501
            '5.3' => false,
1502
            '5.4' => true
1503
        ),
1504
1505
        // Curl:
1506
        'CURLINFO_PRIMARY_IP' => array(
1507
            '5.4.6' => false,
1508
            '5.4.7' => true
1509
        ),
1510
        'CURLINFO_PRIMARY_PORT' => array(
1511
            '5.4.6' => false,
1512
            '5.4.7' => true
1513
        ),
1514
        'CURLINFO_LOCAL_IP' => array(
1515
            '5.4.6' => false,
1516
            '5.4.7' => true
1517
        ),
1518
        'CURLINFO_LOCAL_PORT' => array(
1519
            '5.4.6' => false,
1520
            '5.4.7' => true
1521
        ),
1522
1523
        // OpenSSL:
1524
        'OPENSSL_ALGO_RMD160' => array(
1525
            '5.4.7' => false,
1526
            '5.4.8' => true
1527
        ),
1528
        'OPENSSL_ALGO_SHA224' => array(
1529
            '5.4.7' => false,
1530
            '5.4.8' => true
1531
        ),
1532
        'OPENSSL_ALGO_SHA256' => array(
1533
            '5.4.7' => false,
1534
            '5.4.8' => true
1535
        ),
1536
        'OPENSSL_ALGO_SHA384' => array(
1537
            '5.4.7' => false,
1538
            '5.4.8' => true
1539
        ),
1540
        'OPENSSL_ALGO_SHA512' => array(
1541
            '5.4.7' => false,
1542
            '5.4.8' => true
1543
        ),
1544
1545
        // Filter:
1546
        'FILTER_VALIDATE_MAC' => array(
1547
            '5.4' => false,
1548
            '5.5' => true
1549
        ),
1550
        // GD
1551
        'IMG_AFFINE_TRANSLATE' => array(
1552
            '5.4' => false,
1553
            '5.5' => true
1554
        ),
1555
        'IMG_AFFINE_SCALE' => array(
1556
            '5.4' => false,
1557
            '5.5' => true
1558
        ),
1559
        'IMG_AFFINE_ROTATE' => array(
1560
            '5.4' => false,
1561
            '5.5' => true
1562
        ),
1563
        'IMG_AFFINE_SHEAR_HORIZONTAL' => array(
1564
            '5.4' => false,
1565
            '5.5' => true
1566
        ),
1567
        'IMG_AFFINE_SHEAR_VERTICAL' => array(
1568
            '5.4' => false,
1569
            '5.5' => true
1570
        ),
1571
        'IMG_CROP_DEFAULT' => array(
1572
            '5.4' => false,
1573
            '5.5' => true
1574
        ),
1575
        'IMG_CROP_TRANSPARENT' => array(
1576
            '5.4' => false,
1577
            '5.5' => true
1578
        ),
1579
        'IMG_CROP_BLACK' => array(
1580
            '5.4' => false,
1581
            '5.5' => true
1582
        ),
1583
        'IMG_CROP_WHITE' => array(
1584
            '5.4' => false,
1585
            '5.5' => true
1586
        ),
1587
        'IMG_CROP_SIDES' => array(
1588
            '5.4' => false,
1589
            '5.5' => true
1590
        ),
1591
        'IMG_FLIP_BOTH' => array(
1592
            '5.4' => false,
1593
            '5.5' => true
1594
        ),
1595
        'IMG_FLIP_HORIZONTAL' => array(
1596
            '5.4' => false,
1597
            '5.5' => true
1598
        ),
1599
        'IMG_FLIP_VERTICAL' => array(
1600
            '5.4' => false,
1601
            '5.5' => true
1602
        ),
1603
        'IMG_BELL' => array(
1604
            '5.4' => false,
1605
            '5.5' => true
1606
        ),
1607
        'IMG_BESSEL' => array(
1608
            '5.4' => false,
1609
            '5.5' => true
1610
        ),
1611
        'IMG_BILINEAR_FIXED' => array(
1612
            '5.4' => false,
1613
            '5.5' => true
1614
        ),
1615
        'IMG_BICUBIC' => array(
1616
            '5.4' => false,
1617
            '5.5' => true
1618
        ),
1619
        'IMG_BICUBIC_FIXED' => array(
1620
            '5.4' => false,
1621
            '5.5' => true
1622
        ),
1623
        'IMG_BLACKMAN' => array(
1624
            '5.4' => false,
1625
            '5.5' => true
1626
        ),
1627
        'IMG_BOX' => array(
1628
            '5.4' => false,
1629
            '5.5' => true
1630
        ),
1631
        'IMG_BSPLINE' => array(
1632
            '5.4' => false,
1633
            '5.5' => true
1634
        ),
1635
        'IMG_CATMULLROM' => array(
1636
            '5.4' => false,
1637
            '5.5' => true
1638
        ),
1639
        'IMG_GAUSSIAN' => array(
1640
            '5.4' => false,
1641
            '5.5' => true
1642
        ),
1643
        'IMG_GENERALIZED_CUBIC' => array(
1644
            '5.4' => false,
1645
            '5.5' => true
1646
        ),
1647
        'IMG_HERMITE' => array(
1648
            '5.4' => false,
1649
            '5.5' => true
1650
        ),
1651
        'IMG_HAMMING' => array(
1652
            '5.4' => false,
1653
            '5.5' => true
1654
        ),
1655
        'IMG_HANNING' => array(
1656
            '5.4' => false,
1657
            '5.5' => true
1658
        ),
1659
        'IMG_MITCHELL' => array(
1660
            '5.4' => false,
1661
            '5.5' => true
1662
        ),
1663
        'IMG_POWER' => array(
1664
            '5.4' => false,
1665
            '5.5' => true
1666
        ),
1667
        'IMG_QUADRATIC' => array(
1668
            '5.4' => false,
1669
            '5.5' => true
1670
        ),
1671
        'IMG_SINC' => array(
1672
            '5.4' => false,
1673
            '5.5' => true
1674
        ),
1675
        'IMG_NEAREST_NEIGHBOUR' => array(
1676
            '5.4' => false,
1677
            '5.5' => true
1678
        ),
1679
        'IMG_WEIGHTED4' => array(
1680
            '5.4' => false,
1681
            '5.5' => true
1682
        ),
1683
        'IMG_TRIANGLE' => array(
1684
            '5.4' => false,
1685
            '5.5' => true
1686
        ),
1687
        // JSON:
1688
        'JSON_ERROR_RECURSION' => array(
1689
            '5.4' => false,
1690
            '5.5' => true
1691
        ),
1692
        'JSON_ERROR_INF_OR_NAN' => array(
1693
            '5.4' => false,
1694
            '5.5' => true
1695
        ),
1696
        'JSON_ERROR_UNSUPPORTED_TYPE' => array(
1697
            '5.4' => false,
1698
            '5.5' => true
1699
        ),
1700
        'JSON_PARTIAL_OUTPUT_ON_ERROR' => array(
1701
            '5.4' => false,
1702
            '5.5' => true
1703
        ),
1704
        // MySQLi
1705
        'MYSQLI_SERVER_PUBLIC_KEY' => array(
1706
            '5.4' => false,
1707
            '5.5' => true
1708
        ),
1709
        // Curl:
1710
        'CURLOPT_SHARE' => array(
1711
            '5.4' => false,
1712
            '5.5' => true
1713
        ),
1714
        'CURLOPT_SSL_OPTIONS' => array(
1715
            '5.4' => false,
1716
            '5.5' => true
1717
        ),
1718
        'CURLSSLOPT_ALLOW_BEAST' => array(
1719
            '5.4' => false,
1720
            '5.5' => true
1721
        ),
1722
        'CURLOPT_USERNAME' => array(
1723
            '5.4' => false,
1724
            '5.5' => true
1725
        ),
1726
        'CURLINFO_RESPONSE_CODE' => array(
1727
            '5.4' => false,
1728
            '5.5' => true
1729
        ),
1730
        'CURLINFO_HTTP_CONNECTCODE' => array(
1731
            '5.4' => false,
1732
            '5.5' => true
1733
        ),
1734
        'CURLINFO_HTTPAUTH_AVAIL' => array(
1735
            '5.4' => false,
1736
            '5.5' => true
1737
        ),
1738
        'CURLINFO_PROXYAUTH_AVAIL' => array(
1739
            '5.4' => false,
1740
            '5.5' => true
1741
        ),
1742
        'CURLINFO_OS_ERRNO' => array(
1743
            '5.4' => false,
1744
            '5.5' => true
1745
        ),
1746
        'CURLINFO_NUM_CONNECTS' => array(
1747
            '5.4' => false,
1748
            '5.5' => true
1749
        ),
1750
        'CURLINFO_SSL_ENGINES' => array(
1751
            '5.4' => false,
1752
            '5.5' => true
1753
        ),
1754
        'CURLINFO_COOKIELIST' => array(
1755
            '5.4' => false,
1756
            '5.5' => true
1757
        ),
1758
        'CURLINFO_FTP_ENTRY_PATH' => array(
1759
            '5.4' => false,
1760
            '5.5' => true
1761
        ),
1762
        'CURLINFO_APPCONNECT_TIME' => array(
1763
            '5.4' => false,
1764
            '5.5' => true
1765
        ),
1766
        'CURLINFO_CONDITION_UNMET' => array(
1767
            '5.4' => false,
1768
            '5.5' => true
1769
        ),
1770
        'CURLINFO_RTSP_CLIENT_CSEQ' => array(
1771
            '5.4' => false,
1772
            '5.5' => true
1773
        ),
1774
        'CURLINFO_RTSP_CSEQ_RECV' => array(
1775
            '5.4' => false,
1776
            '5.5' => true
1777
        ),
1778
        'CURLINFO_RTSP_SERVER_CSEQ' => array(
1779
            '5.4' => false,
1780
            '5.5' => true
1781
        ),
1782
        'CURLINFO_RTSP_SESSION_ID' => array(
1783
            '5.4' => false,
1784
            '5.5' => true
1785
        ),
1786
        'CURLMOPT_PIPELINING' => array(
1787
            '5.4' => false,
1788
            '5.5' => true
1789
        ),
1790
        'CURLMOPT_MAXCONNECTS' => array(
1791
            '5.4' => false,
1792
            '5.5' => true
1793
        ),
1794
        'CURLPAUSE_ALL' => array(
1795
            '5.4' => false,
1796
            '5.5' => true
1797
        ),
1798
        'CURLPAUSE_CONT' => array(
1799
            '5.4' => false,
1800
            '5.5' => true
1801
        ),
1802
        'CURLPAUSE_RECV' => array(
1803
            '5.4' => false,
1804
            '5.5' => true
1805
        ),
1806
        'CURLPAUSE_RECV_CONT' => array(
1807
            '5.4' => false,
1808
            '5.5' => true
1809
        ),
1810
        'CURLPAUSE_SEND' => array(
1811
            '5.4' => false,
1812
            '5.5' => true
1813
        ),
1814
        'CURLPAUSE_SEND_CONT' => array(
1815
            '5.4' => false,
1816
            '5.5' => true
1817
        ),
1818
        // Soap:
1819
        'SOAP_SSL_METHOD_TLS' => array(
1820
            '5.4' => false,
1821
            '5.5' => true
1822
        ),
1823
        'SOAP_SSL_METHOD_SSLv2' => array(
1824
            '5.4' => false,
1825
            '5.5' => true
1826
        ),
1827
        'SOAP_SSL_METHOD_SSLv3' => array(
1828
            '5.4' => false,
1829
            '5.5' => true
1830
        ),
1831
        'SOAP_SSL_METHOD_SSLv23' => array(
1832
            '5.4' => false,
1833
            '5.5' => true
1834
        ),
1835
        // Tokenizer:
1836
        'T_FINALLY' => array(
1837
            '5.4' => false,
1838
            '5.5' => true
1839
        ),
1840
        'T_YIELD' => array(
1841
            '5.4' => false,
1842
            '5.5' => true
1843
        ),
1844
1845
        // Libxml:
1846
        'LIBXML_SCHEMA_CREATE' => array(
1847
            '5.5.1'  => false,
1848
            '5.5.2' => true
1849
        ),
1850
1851
        // Curl:
1852
        'CURL_SSLVERSION_TLSv1_0' => array(
1853
            '5.5.18'  => false,
1854
            '5.5.19' => true
1855
        ),
1856
        'CURL_SSLVERSION_TLSv1_1' => array(
1857
            '5.5.18'  => false,
1858
            '5.5.19' => true
1859
        ),
1860
        'CURL_SSLVERSION_TLSv1_2' => array(
1861
            '5.5.18'  => false,
1862
            '5.5.19' => true
1863
        ),
1864
1865
        'CURLPROXY_SOCKS4A' => array(
1866
            '5.5.22'  => false,
1867
            '5.5.23' => true
1868
        ),
1869
        'CURLPROXY_SOCKS5_HOSTNAME' => array(
1870
            '5.5.22'  => false,
1871
            '5.5.23' => true
1872
        ),
1873
1874
        'CURL_VERSION_HTTP2' => array(
1875
            '5.5.23'  => false,
1876
            '5.5.24' => true
1877
        ),
1878
1879
        'ARRAY_FILTER_USE_KEY' => array(
1880
            '5.5' => false,
1881
            '5.6' => true
1882
        ),
1883
        'ARRAY_FILTER_USE_BOTH' => array(
1884
            '5.5' => false,
1885
            '5.6' => true
1886
        ),
1887
        // LDAP:
1888
        'LDAP_ESCAPE_DN' => array(
1889
            '5.5' => false,
1890
            '5.6' => true
1891
        ),
1892
        'LDAP_ESCAPE_FILTER' => array(
1893
            '5.5' => false,
1894
            '5.6' => true
1895
        ),
1896
        // OpenSSL:
1897
        'OPENSSL_DEFAULT_STREAM_CIPHERS' => array(
1898
            '5.5' => false,
1899
            '5.6' => true
1900
        ),
1901
        'STREAM_CRYPTO_METHOD_ANY_CLIENT' => array(
1902
            '5.5' => false,
1903
            '5.6' => true
1904
        ),
1905
        'STREAM_CRYPTO_METHOD_ANY_SERVER' => array(
1906
            '5.5' => false,
1907
            '5.6' => true
1908
        ),
1909
        'STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT' => array(
1910
            '5.5' => false,
1911
            '5.6' => true
1912
        ),
1913
        'STREAM_CRYPTO_METHOD_TLSv1_0_SERVER' => array(
1914
            '5.5' => false,
1915
            '5.6' => true
1916
        ),
1917
        'STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT' => array(
1918
            '5.5' => false,
1919
            '5.6' => true
1920
        ),
1921
        'STREAM_CRYPTO_METHOD_TLSv1_1_SERVER' => array(
1922
            '5.5' => false,
1923
            '5.6' => true
1924
        ),
1925
        'STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT' => array(
1926
            '5.5' => false,
1927
            '5.6' => true
1928
        ),
1929
        'STREAM_CRYPTO_METHOD_TLSv1_2_SERVER' => array(
1930
            '5.5' => false,
1931
            '5.6' => true
1932
        ),
1933
        // PostgreSQL:
1934
        'PGSQL_CONNECT_ASYNC' => array(
1935
            '5.5' => false,
1936
            '5.6' => true
1937
        ),
1938
        'PGSQL_CONNECTION_AUTH_OK' => array(
1939
            '5.5' => false,
1940
            '5.6' => true
1941
        ),
1942
        'PGSQL_CONNECTION_AWAITING_RESPONSE' => array(
1943
            '5.5' => false,
1944
            '5.6' => true
1945
        ),
1946
        'PGSQL_CONNECTION_MADE' => array(
1947
            '5.5' => false,
1948
            '5.6' => true
1949
        ),
1950
        'PGSQL_CONNECTION_SETENV' => array(
1951
            '5.5' => false,
1952
            '5.6' => true
1953
        ),
1954
        'PGSQL_CONNECTION_SSL_STARTUP' => array(
1955
            '5.5' => false,
1956
            '5.6' => true
1957
        ),
1958
        'PGSQL_CONNECTION_STARTED' => array(
1959
            '5.5' => false,
1960
            '5.6' => true
1961
        ),
1962
        'PGSQL_DML_ESCAPE' => array(
1963
            '5.5' => false,
1964
            '5.6' => true
1965
        ),
1966
        'PGSQL_POLLING_ACTIVE' => array(
1967
            '5.5' => false,
1968
            '5.6' => true
1969
        ),
1970
        'PGSQL_POLLING_FAILED' => array(
1971
            '5.5' => false,
1972
            '5.6' => true
1973
        ),
1974
        'PGSQL_POLLING_OK' => array(
1975
            '5.5' => false,
1976
            '5.6' => true
1977
        ),
1978
        'PGSQL_POLLING_READING' => array(
1979
            '5.5' => false,
1980
            '5.6' => true
1981
        ),
1982
        'PGSQL_POLLING_WRITING' => array(
1983
            '5.5' => false,
1984
            '5.6' => true
1985
        ),
1986
        // Tokenizer:
1987
        'T_ELLIPSIS' => array(
1988
            '5.5' => false,
1989
            '5.6' => true
1990
        ),
1991
        'T_POW' => array(
1992
            '5.5' => false,
1993
            '5.6' => true
1994
        ),
1995
        'T_POW_EQUAL' => array(
1996
            '5.5' => false,
1997
            '5.6' => true
1998
        ),
1999
2000
        'INI_SCANNER_TYPED' => array(
2001
            '5.6.0' => false,
2002
            '5.6.1' => true
2003
        ),
2004
2005
        'JSON_PRESERVE_ZERO_FRACTION' => array(
2006
            '5.6.5' => false,
2007
            '5.6.6' => true
2008
        ),
2009
2010
        'MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT' => array(
2011
            '5.6.15' => false,
2012
            '5.6.16' => true
2013
        ),
2014
2015
        // GD:
2016
        // Also introduced in 7.0.10.
2017
        'IMG_WEBP' => array(
2018
            '5.6.24' => false,
2019
            '5.6.25' => true
2020
        ),
2021
2022
2023
        'TOKEN_PARSE' => array(
2024
            '5.6' => false,
2025
            '7.0' => true
2026
        ),
2027
        'FILTER_VALIDATE_DOMAIN' => array(
2028
            '5.6' => false,
2029
            '7.0' => true
2030
        ),
2031
        'PHP_INT_MIN' => array(
2032
            '5.6' => false,
2033
            '7.0' => true
2034
        ),
2035
        // Curl:
2036
        'CURLPIPE_NOTHING' => array(
2037
            '5.6' => false,
2038
            '7.0' => true
2039
        ),
2040
        'CURLPIPE_HTTP1' => array(
2041
            '5.6' => false,
2042
            '7.0' => true
2043
        ),
2044
        'CURLPIPE_MULTIPLEX' => array(
2045
            '5.6' => false,
2046
            '7.0' => true
2047
        ),
2048
        // JSON:
2049
        'JSON_ERROR_INVALID_PROPERTY_NAME' => array(
2050
            '5.6' => false,
2051
            '7.0' => true
2052
        ),
2053
        'JSON_ERROR_UTF16' => array(
2054
            '5.6' => false,
2055
            '7.0' => true
2056
        ),
2057
        // LibXML:
2058
        'LIBXML_BIGLINES' => array(
2059
            '5.6' => false,
2060
            '7.0' => true
2061
        ),
2062
        // PCRE:
2063
        'PREG_JIT_STACKLIMIT_ERROR' => array(
2064
            '5.6' => false,
2065
            '7.0' => true
2066
        ),
2067
        // POSIX:
2068
        'POSIX_RLIMIT_AS' => array(
2069
            '5.6' => false,
2070
            '7.0' => true
2071
        ),
2072
        'POSIX_RLIMIT_CORE' => array(
2073
            '5.6' => false,
2074
            '7.0' => true
2075
        ),
2076
        'POSIX_RLIMIT_CPU' => array(
2077
            '5.6' => false,
2078
            '7.0' => true
2079
        ),
2080
        'POSIX_RLIMIT_DATA' => array(
2081
            '5.6' => false,
2082
            '7.0' => true
2083
        ),
2084
        'POSIX_RLIMIT_FSIZE' => array(
2085
            '5.6' => false,
2086
            '7.0' => true
2087
        ),
2088
        'POSIX_RLIMIT_LOCKS' => array(
2089
            '5.6' => false,
2090
            '7.0' => true
2091
        ),
2092
        'POSIX_RLIMIT_MEMLOCK' => array(
2093
            '5.6' => false,
2094
            '7.0' => true
2095
        ),
2096
        'POSIX_RLIMIT_MSGQUEUE' => array(
2097
            '5.6' => false,
2098
            '7.0' => true
2099
        ),
2100
        'POSIX_RLIMIT_NICE' => array(
2101
            '5.6' => false,
2102
            '7.0' => true
2103
        ),
2104
        'POSIX_RLIMIT_NOFILE' => array(
2105
            '5.6' => false,
2106
            '7.0' => true
2107
        ),
2108
        'POSIX_RLIMIT_NPROC' => array(
2109
            '5.6' => false,
2110
            '7.0' => true
2111
        ),
2112
        'POSIX_RLIMIT_RSS' => array(
2113
            '5.6' => false,
2114
            '7.0' => true
2115
        ),
2116
        'POSIX_RLIMIT_RTPRIO' => array(
2117
            '5.6' => false,
2118
            '7.0' => true
2119
        ),
2120
        'POSIX_RLIMIT_RTTIME' => array(
2121
            '5.6' => false,
2122
            '7.0' => true
2123
        ),
2124
        'POSIX_RLIMIT_SIGPENDING' => array(
2125
            '5.6' => false,
2126
            '7.0' => true
2127
        ),
2128
        'POSIX_RLIMIT_STACK' => array(
2129
            '5.6' => false,
2130
            '7.0' => true
2131
        ),
2132
        'POSIX_RLIMIT_INFINITY' => array(
2133
            '5.6' => false,
2134
            '7.0' => true
2135
        ),
2136
        // Tokenizer:
2137
        'T_SPACESHIP' => array(
2138
            '5.6' => false,
2139
            '7.0' => true
2140
        ),
2141
        // Zlib:
2142
        // The first three are in the PHP 5.4 changelog, but the Extension constant page says 7.0.
2143
        'ZLIB_ENCODING_RAW' => array(
2144
            '5.6' => false,
2145
            '7.0' => true
2146
        ),
2147
        'ZLIB_ENCODING_DEFLATE' => array(
2148
            '5.6' => false,
2149
            '7.0' => true
2150
        ),
2151
        'ZLIB_ENCODING_GZIP' => array(
2152
            '5.6' => false,
2153
            '7.0' => true
2154
        ),
2155
        'ZLIB_FILTERED' => array(
2156
            '5.6' => false,
2157
            '7.0' => true
2158
        ),
2159
        'ZLIB_HUFFMAN_ONLY' => array(
2160
            '5.6' => false,
2161
            '7.0' => true
2162
        ),
2163
        'ZLIB_FIXED' => array(
2164
            '5.6' => false,
2165
            '7.0' => true
2166
        ),
2167
        'ZLIB_RLE' => array(
2168
            '5.6' => false,
2169
            '7.0' => true
2170
        ),
2171
        'ZLIB_DEFAULT_STRATEGY' => array(
2172
            '5.6' => false,
2173
            '7.0' => true
2174
        ),
2175
        'ZLIB_BLOCK' => array(
2176
            '5.6' => false,
2177
            '7.0' => true
2178
        ),
2179
        'ZLIB_FINISH' => array(
2180
            '5.6' => false,
2181
            '7.0' => true
2182
        ),
2183
        'ZLIB_FULL_FLUSH' => array(
2184
            '5.6' => false,
2185
            '7.0' => true
2186
        ),
2187
        'ZLIB_NO_FLUSH' => array(
2188
            '5.6' => false,
2189
            '7.0' => true
2190
        ),
2191
        'ZLIB_PARTIAL_FLUSH' => array(
2192
            '5.6' => false,
2193
            '7.0' => true
2194
        ),
2195
        'ZLIB_SYNC_FLUSH' => array(
2196
            '5.6' => false,
2197
            '7.0' => true
2198
        ),
2199
2200
        'CURL_HTTP_VERSION_2' => array(
2201
            '7.0.6' => false,
2202
            '7.0.7' => true
2203
        ),
2204
        'CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE' => array(
2205
            '7.0.6' => false,
2206
            '7.0.7' => true
2207
        ),
2208
        'CURL_HTTP_VERSION_2TLS' => array(
2209
            '7.0.6' => false,
2210
            '7.0.7' => true
2211
        ),
2212
        'CURL_REDIR_POST_301' => array(
2213
            '7.0.6' => false,
2214
            '7.0.7' => true
2215
        ),
2216
        'CURL_REDIR_POST_302' => array(
2217
            '7.0.6' => false,
2218
            '7.0.7' => true
2219
        ),
2220
        'CURL_REDIR_POST_303' => array(
2221
            '7.0.6' => false,
2222
            '7.0.7' => true
2223
        ),
2224
        'CURL_REDIR_POST_ALL' => array(
2225
            '7.0.6' => false,
2226
            '7.0.7' => true
2227
        ),
2228
        'CURL_VERSION_KERBEROS5' => array(
2229
            '7.0.6' => false,
2230
            '7.0.7' => true
2231
        ),
2232
        'CURL_VERSION_PSL' => array(
2233
            '7.0.6' => false,
2234
            '7.0.7' => true
2235
        ),
2236
        'CURL_VERSION_UNIX_SOCKETS' => array(
2237
            '7.0.6' => false,
2238
            '7.0.7' => true
2239
        ),
2240
        'CURLAUTH_NEGOTIATE' => array(
2241
            '7.0.6' => false,
2242
            '7.0.7' => true
2243
        ),
2244
        'CURLAUTH_NTLM_WB' => array(
2245
            '7.0.6' => false,
2246
            '7.0.7' => true
2247
        ),
2248
        'CURLFTP_CREATE_DIR' => array(
2249
            '7.0.6' => false,
2250
            '7.0.7' => true
2251
        ),
2252
        'CURLFTP_CREATE_DIR_NONE' => array(
2253
            '7.0.6' => false,
2254
            '7.0.7' => true
2255
        ),
2256
        'CURLFTP_CREATE_DIR_RETRY' => array(
2257
            '7.0.6' => false,
2258
            '7.0.7' => true
2259
        ),
2260
        'CURLHEADER_SEPARATE' => array(
2261
            '7.0.6' => false,
2262
            '7.0.7' => true
2263
        ),
2264
        'CURLHEADER_UNIFIED' => array(
2265
            '7.0.6' => false,
2266
            '7.0.7' => true
2267
        ),
2268
        'CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE' => array(
2269
            '7.0.6' => false,
2270
            '7.0.7' => true
2271
        ),
2272
        'CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE' => array(
2273
            '7.0.6' => false,
2274
            '7.0.7' => true
2275
        ),
2276
        'CURLMOPT_MAX_HOST_CONNECTIONS' => array(
2277
            '7.0.6' => false,
2278
            '7.0.7' => true
2279
        ),
2280
        'CURLMOPT_MAX_PIPELINE_LENGTH' => array(
2281
            '7.0.6' => false,
2282
            '7.0.7' => true
2283
        ),
2284
        'CURLMOPT_MAX_TOTAL_CONNECTIONS' => array(
2285
            '7.0.6' => false,
2286
            '7.0.7' => true
2287
        ),
2288
        'CURLOPT_CONNECT_TO' => array(
2289
            '7.0.6' => false,
2290
            '7.0.7' => true
2291
        ),
2292
        'CURLOPT_DEFAULT_PROTOCOL' => array(
2293
            '7.0.6' => false,
2294
            '7.0.7' => true
2295
        ),
2296
        'CURLOPT_DNS_INTERFACE' => array(
2297
            '7.0.6' => false,
2298
            '7.0.7' => true
2299
        ),
2300
        'CURLOPT_DNS_LOCAL_IP4' => array(
2301
            '7.0.6' => false,
2302
            '7.0.7' => true
2303
        ),
2304
        'CURLOPT_DNS_LOCAL_IP6' => array(
2305
            '7.0.6' => false,
2306
            '7.0.7' => true
2307
        ),
2308
        'CURLOPT_EXPECT_100_TIMEOUT_MS' => array(
2309
            '7.0.6' => false,
2310
            '7.0.7' => true
2311
        ),
2312
        'CURLOPT_HEADEROPT' => array(
2313
            '7.0.6' => false,
2314
            '7.0.7' => true
2315
        ),
2316
        'CURLOPT_LOGIN_OPTIONS' => array(
2317
            '7.0.6' => false,
2318
            '7.0.7' => true
2319
        ),
2320
        'CURLOPT_PATH_AS_IS' => array(
2321
            '7.0.6' => false,
2322
            '7.0.7' => true
2323
        ),
2324
        'CURLOPT_PINNEDPUBLICKEY' => array(
2325
            '7.0.6' => false,
2326
            '7.0.7' => true
2327
        ),
2328
        'CURLOPT_PIPEWAIT' => array(
2329
            '7.0.6' => false,
2330
            '7.0.7' => true
2331
        ),
2332
        'CURLOPT_PROXY_SERVICE_NAME' => array(
2333
            '7.0.6' => false,
2334
            '7.0.7' => true
2335
        ),
2336
        'CURLOPT_PROXYHEADER' => array(
2337
            '7.0.6' => false,
2338
            '7.0.7' => true
2339
        ),
2340
        'CURLOPT_SASL_IR' => array(
2341
            '7.0.6' => false,
2342
            '7.0.7' => true
2343
        ),
2344
        'CURLOPT_SERVICE_NAME' => array(
2345
            '7.0.6' => false,
2346
            '7.0.7' => true
2347
        ),
2348
        'CURLOPT_SSL_ENABLE_ALPN' => array(
2349
            '7.0.6' => false,
2350
            '7.0.7' => true
2351
        ),
2352
        'CURLOPT_SSL_ENABLE_NPN' => array(
2353
            '7.0.6' => false,
2354
            '7.0.7' => true
2355
        ),
2356
        'CURLOPT_SSL_FALSESTART' => array(
2357
            '7.0.6' => false,
2358
            '7.0.7' => true
2359
        ),
2360
        'CURLOPT_SSL_VERIFYSTATUS' => array(
2361
            '7.0.6' => false,
2362
            '7.0.7' => true
2363
        ),
2364
        'CURLOPT_STREAM_WEIGHT' => array(
2365
            '7.0.6' => false,
2366
            '7.0.7' => true
2367
        ),
2368
        'CURLOPT_TCP_FASTOPEN' => array(
2369
            '7.0.6' => false,
2370
            '7.0.7' => true
2371
        ),
2372
        'CURLOPT_TFTP_NO_OPTIONS' => array(
2373
            '7.0.6' => false,
2374
            '7.0.7' => true
2375
        ),
2376
        'CURLOPT_UNIX_SOCKET_PATH' => array(
2377
            '7.0.6' => false,
2378
            '7.0.7' => true
2379
        ),
2380
        'CURLOPT_XOAUTH2_BEARER' => array(
2381
            '7.0.6' => false,
2382
            '7.0.7' => true
2383
        ),
2384
        'CURLPROTO_SMB' => array(
2385
            '7.0.6' => false,
2386
            '7.0.7' => true
2387
        ),
2388
        'CURLPROTO_SMBS' => array(
2389
            '7.0.6' => false,
2390
            '7.0.7' => true
2391
        ),
2392
        'CURLPROXY_HTTP_1_0' => array(
2393
            '7.0.6' => false,
2394
            '7.0.7' => true
2395
        ),
2396
        'CURLSSH_AUTH_AGENT' => array(
2397
            '7.0.6' => false,
2398
            '7.0.7' => true
2399
        ),
2400
        'CURLSSLOPT_NO_REVOKE' => array(
2401
            '7.0.6' => false,
2402
            '7.0.7' => true
2403
        ),
2404
2405
        'PHP_FD_SETSIZE' => array(
2406
            '7.0' => false,
2407
            '7.1' => true
2408
        ),
2409
        // Curl:
2410
        'CURLMOPT_PUSHFUNCTION' => array(
2411
            '7.0' => false,
2412
            '7.1' => true
2413
        ),
2414
        'CURL_PUSH_OK' => array(
2415
            '7.0' => false,
2416
            '7.1' => true
2417
        ),
2418
        'CURL_PUSH_DENY' => array(
2419
            '7.0' => false,
2420
            '7.1' => true
2421
        ),
2422
        // Filter:
2423
        'FILTER_FLAG_EMAIL_UNICODE' => array(
2424
            '7.0' => false,
2425
            '7.1' => true
2426
        ),
2427
        // GD:
2428
        'IMAGETYPE_WEBP' => array(
2429
            '7.0' => false,
2430
            '7.1' => true
2431
        ),
2432
        // Json:
2433
        'JSON_UNESCAPED_LINE_TERMINATORS' => array(
2434
            '7.0' => false,
2435
            '7.1' => true
2436
        ),
2437
        // LDAP:
2438
        'LDAP_OPT_X_SASL_NOCANON' => array(
2439
            '7.0' => false,
2440
            '7.1' => true
2441
        ),
2442
        'LDAP_OPT_X_SASL_USERNAME' => array(
2443
            '7.0' => false,
2444
            '7.1' => true
2445
        ),
2446
        'LDAP_OPT_X_TLS_CACERTDIR' => array(
2447
            '7.0' => false,
2448
            '7.1' => true
2449
        ),
2450
        'LDAP_OPT_X_TLS_CACERTFILE' => array(
2451
            '7.0' => false,
2452
            '7.1' => true
2453
        ),
2454
        'LDAP_OPT_X_TLS_CERTFILE' => array(
2455
            '7.0' => false,
2456
            '7.1' => true
2457
        ),
2458
        'LDAP_OPT_X_TLS_CIPHER_SUITE' => array(
2459
            '7.0' => false,
2460
            '7.1' => true
2461
        ),
2462
        'LDAP_OPT_X_TLS_KEYFILE' => array(
2463
            '7.0' => false,
2464
            '7.1' => true
2465
        ),
2466
        'LDAP_OPT_X_TLS_RANDOM_FILE' => array(
2467
            '7.0' => false,
2468
            '7.1' => true
2469
        ),
2470
        'LDAP_OPT_X_TLS_CRLCHECK' => array(
2471
            '7.0' => false,
2472
            '7.1' => true
2473
        ),
2474
        'LDAP_OPT_X_TLS_CRL_NONE' => array(
2475
            '7.0' => false,
2476
            '7.1' => true
2477
        ),
2478
        'LDAP_OPT_X_TLS_CRL_PEER' => array(
2479
            '7.0' => false,
2480
            '7.1' => true
2481
        ),
2482
        'LDAP_OPT_X_TLS_CRL_ALL' => array(
2483
            '7.0' => false,
2484
            '7.1' => true
2485
        ),
2486
        'LDAP_OPT_X_TLS_DHFILE' => array(
2487
            '7.0' => false,
2488
            '7.1' => true
2489
        ),
2490
        'LDAP_OPT_X_TLS_CRLFILE' => array(
2491
            '7.0' => false,
2492
            '7.1' => true
2493
        ),
2494
        'LDAP_OPT_X_TLS_PROTOCOL_MIN' => array(
2495
            '7.0' => false,
2496
            '7.1' => true
2497
        ),
2498
        'LDAP_OPT_X_TLS_PROTOCOL_SSL2' => array(
2499
            '7.0' => false,
2500
            '7.1' => true
2501
        ),
2502
        'LDAP_OPT_X_TLS_PROTOCOL_SSL3' => array(
2503
            '7.0' => false,
2504
            '7.1' => true
2505
        ),
2506
        'LDAP_OPT_X_TLS_PROTOCOL_TLS1_0' => array(
2507
            '7.0' => false,
2508
            '7.1' => true
2509
        ),
2510
        'LDAP_OPT_X_TLS_PROTOCOL_TLS1_1' => array(
2511
            '7.0' => false,
2512
            '7.1' => true
2513
        ),
2514
        'LDAP_OPT_X_TLS_PROTOCOL_TLS1_2' => array(
2515
            '7.0' => false,
2516
            '7.1' => true
2517
        ),
2518
        'LDAP_OPT_X_TLS_PACKAGE' => array(
2519
            '7.0' => false,
2520
            '7.1' => true
2521
        ),
2522
        'LDAP_OPT_X_KEEPALIVE_IDLE' => array(
2523
            '7.0' => false,
2524
            '7.1' => true
2525
        ),
2526
        'LDAP_OPT_X_KEEPALIVE_PROBES' => array(
2527
            '7.0' => false,
2528
            '7.1' => true
2529
        ),
2530
        'LDAP_OPT_X_KEEPALIVE_INTERVAL' => array(
2531
            '7.0' => false,
2532
            '7.1' => true
2533
        ),
2534
        // PostgreSQL:
2535
        'PGSQL_NOTICE_LAST' => array(
2536
            '7.0' => false,
2537
            '7.1' => true
2538
        ),
2539
        'PGSQL_NOTICE_ALL' => array(
2540
            '7.0' => false,
2541
            '7.1' => true
2542
        ),
2543
        'PGSQL_NOTICE_CLEAR' => array(
2544
            '7.0' => false,
2545
            '7.1' => true
2546
        ),
2547
        // SPL:
2548
        'MT_RAND_PHP' => array(
2549
            '7.0' => false,
2550
            '7.1' => true
2551
        ),
2552
2553
        // SQLite3:
2554
        'SQLITE3_DETERMINISTIC' => array(
2555
            '7.1.3' => false,
2556
            '7.1.4' => true
2557
        ),
2558
2559
        // Core:
2560
        'PHP_OS_FAMILY' => array(
2561
            '7.1' => false,
2562
            '7.2' => true
2563
        ),
2564
        'PHP_FLOAT_DIG' => array(
2565
            '7.1' => false,
2566
            '7.2' => true
2567
        ),
2568
        'PHP_FLOAT_EPSILON' => array(
2569
            '7.1' => false,
2570
            '7.2' => true
2571
        ),
2572
        'PHP_FLOAT_MIN' => array(
2573
            '7.1' => false,
2574
            '7.2' => true
2575
        ),
2576
        'PHP_FLOAT_MAX' => array(
2577
            '7.1' => false,
2578
            '7.2' => true
2579
        ),
2580
2581
        // Core/Password Hashing:
2582
        'PASSWORD_ARGON2I' => array(
2583
            '7.1' => false,
2584
            '7.2' => true
2585
        ),
2586
        'PASSWORD_ARGON2_DEFAULT_MEMORY_COST' => array(
2587
            '7.1' => false,
2588
            '7.2' => true
2589
        ),
2590
        'PASSWORD_ARGON2_DEFAULT_TIME_COST' => array(
2591
            '7.1' => false,
2592
            '7.2' => true
2593
        ),
2594
        'PASSWORD_ARGON2_DEFAULT_THREADS' => array(
2595
            '7.1' => false,
2596
            '7.2' => true
2597
        ),
2598
2599
        // Fileinfo:
2600
        'FILEINFO_EXTENSION' => array(
2601
            '7.1' => false,
2602
            '7.2' => true
2603
        ),
2604
2605
        // GD:
2606
        'IMG_EFFECT_MULTIPLY' => array(
2607
            '7.1' => false,
2608
            '7.2' => true
2609
        ),
2610
        'IMG_BMP' => array(
2611
            '7.1' => false,
2612
            '7.2' => true
2613
        ),
2614
2615
        // JSON:
2616
        'JSON_INVALID_UTF8_IGNORE' => array(
2617
            '7.1' => false,
2618
            '7.2' => true
2619
        ),
2620
        'JSON_INVALID_UTF8_SUBSTITUTE' => array(
2621
            '7.1' => false,
2622
            '7.2' => true
2623
        ),
2624
2625
        // LDAP:
2626
        'LDAP_EXOP_START_TLS' => array(
2627
            '7.1' => false,
2628
            '7.2' => true
2629
        ),
2630
        'LDAP_EXOP_MODIFY_PASSWD' => array(
2631
            '7.1' => false,
2632
            '7.2' => true
2633
        ),
2634
        'LDAP_EXOP_REFRESH' => array(
2635
            '7.1' => false,
2636
            '7.2' => true
2637
        ),
2638
        'LDAP_EXOP_WHO_AM_I' => array(
2639
            '7.1' => false,
2640
            '7.2' => true
2641
        ),
2642
        'LDAP_EXOP_TURN' => array(
2643
            '7.1' => false,
2644
            '7.2' => true
2645
        ),
2646
2647
        // PCRE:
2648
        'PREG_UNMATCHED_AS_NULL' => array(
2649
            '7.1' => false,
2650
            '7.2' => true
2651
        ),
2652
2653
    );
2654
2655
2656
    /**
2657
     * Returns an array of tokens this test wants to listen for.
2658
     *
2659
     * @return array
2660
     */
2661
    public function register()
2662
    {
2663
        return array(T_STRING);
2664
2665
    }//end register()
2666
2667
    /**
2668
     * Processes this test, when one of its tokens is encountered.
2669
     *
2670
     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
2671
     * @param int                   $stackPtr  The position of the current token in the
2672
     *                                         stack passed in $tokens.
2673
     *
2674
     * @return void
2675
     */
2676 View Code Duplication
    public function process(\PHP_CodeSniffer_File $phpcsFile, $stackPtr)
2677
    {
2678
        $tokens       = $phpcsFile->getTokens();
2679
        $constantName = $tokens[$stackPtr]['content'];
2680
2681
        if (isset($this->newConstants[$constantName]) === false) {
2682
            return;
2683
        }
2684
2685
        if ($this->isUseOfGlobalConstant($phpcsFile, $stackPtr) === false) {
2686
            return;
2687
        }
2688
2689
        $itemInfo = array(
2690
            'name' => $constantName,
2691
        );
2692
        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
2693
2694
    }//end process()
2695
2696
2697
    /**
2698
     * Get the relevant sub-array for a specific item from a multi-dimensional array.
2699
     *
2700
     * @param array $itemInfo Base information about the item.
2701
     *
2702
     * @return array Version and other information about the item.
2703
     */
2704
    public function getItemArray(array $itemInfo)
2705
    {
2706
        return $this->newConstants[$itemInfo['name']];
2707
    }
2708
2709
2710
    /**
2711
     * Get the error message template for this sniff.
2712
     *
2713
     * @return string
2714
     */
2715
    protected function getErrorMsgTemplate()
2716
    {
2717
        return 'The constant "%s" is not present in PHP version %s or earlier';
2718
    }
2719
2720
2721
}//end class
2722