Language
20/21
language features fully supported
Classes, enums, traits, closures, generators, fibers, match, references, namespaces. Partial: eval().
PHP compatibility
Counted symbol by symbol against PHP 8.5.10 (68 extensions, 2,169 functions) and generated from the compiler's own builtin registry, not maintained by hand.
Language
20/21
language features fully supported
Classes, enums, traits, closures, generators, fibers, match, references, namespaces. Partial: eval().
Default PHP build
71%
of PHP functions (644 / 901)
What a plain php-src ./configure compiles in: core, standard, date, pcre, spl, json, session, dom, and 20 more.
All 68 bundled extensions
45%
of PHP functions (983 / 2,169)
Everything in the reference PHP build, including opt-in extensions such as intl, gmp, sodium, and pgsql.
4 complete · 6 partial · 3 missing
mbstring 100% pdo 100% session 100% xml 100% curl 98% hash 48% pcre 45% ctype 36% dom 15% openssl 6% fileinfo 0% filter 0% tokenizer 0% 2 complete · 2 partial · 2 missing
iconv 100% session 100% pcre 45% ctype 36% simplexml 0% tokenizer 0% 1 complete · 3 partial · 0 missing
json 100% mysqli 79% hash 48% pcre 45% Percentages count each extension's functions and classes; an extension is complete only when its constants are all there too. Covering an extension is necessary, not sufficient: elephc compiles a static subset of PHP, so today frameworks keep running on PHP while their static modules compile to native libraries.
Frameworks
Each list is the project's published server requirements, matched against elephc's coverage of every extension on it.
Required
functions 4/11
functions 34/35 · classes 6/6 · constants 689/689
functions 0/2 · classes 8/50 · constants 0/61
functions 0/6 · classes 0/1 · constants 0/11
functions 0/7 · classes 0/2 · constants 0/56
functions 9/20 · classes 1/1 · constants 0/40
functions 65/65 · constants 9/9
functions 4/64 · classes 0/3 · constants 3/70
functions 5/11 · constants 7/19
functions 1/1 · classes 4/4
functions 23/23 · classes 4/4 · constants 3/3
functions 0/2 · classes 0/1 · constants 0/154
functions 22/22 · classes 1/1 · constants 28/28
Required
functions 4/11
functions 10/10 · constants 4/4
functions 5/11 · constants 7/19
functions 23/23 · classes 4/4 · constants 3/3
functions 0/3 · classes 0/2
functions 0/2 · classes 0/1 · constants 0/154
Required
functions 5/5 · classes 2/2 · constants 29/29
functions 9/20 · classes 1/1 · constants 0/40
functions 84/106 · classes 4/6 · constants 52/110
functions 5/11 · constants 7/19
Highly recommended
functions 34/35 · classes 6/6 · constants 689/689
functions 0/2 · classes 8/50 · constants 0/61
functions 4/4 · constants 1/1
functions 0/6 · classes 0/1 · constants 0/11
functions 0/187 · classes 0/22 · constants 0/170
functions 65/65 · constants 9/9
functions 4/64 · classes 0/3 · constants 3/70
functions 22/22 · classes 1/1 · constants 28/28
functions 0/10 · classes 0/1
Also listed: igbinary, imagick. These are PECL extensions outside php-src, so the PHP baseline cannot measure them.
Extensions
Grouping follows the php-src 8.5 build configuration. The bar and percentage count functions and classes; the line below adds constants, and an extension is complete only when those are all there too.
php-src offers no configure switch to leave these out, so every PHP installation has them.
functions 62/62 · classes 40/40 · constants 89/89
functions 48/48 · classes 15/15 · constants 3/17
functions 9/20 · classes 1/1 · constants 0/40
functions 5/5 · classes 2/2 · constants 29/29
functions 8/8
functions 5/11 · constants 7/19
functions 3/9 · classes 0/11 · constants 0/2
classes 16/26
functions 15/15 · classes 54/55
functions 385/545 · classes 3/6 · constants 163/400
classes 0/9
A plain ./configure compiles these in; they can be turned off with --disable-* or --without-*.
functions 4/11
functions 0/2 · classes 8/50 · constants 0/61
functions 0/6 · classes 0/1 · constants 0/11
functions 0/7 · classes 0/2 · constants 0/56
functions 10/10 · constants 4/4
functions 0/8 · classes 0/1 · constants 5/28
functions 1/1 · classes 4/4
classes 1/1
classes 3/4
functions 2/41 · constants 0/43
functions 23/23 · classes 4/4 · constants 3/3
functions 0/3 · classes 0/2
classes 0/4 · constants 0/12
functions 0/2 · classes 0/1 · constants 0/154
functions 22/22 · classes 1/1 · constants 28/28
classes 0/1
functions 42/42 · classes 1/1
Shipped with php-src but compiled only when requested, as distributions commonly do for mbstring, curl, gd, intl, or mysqli.
functions 14/14 · classes 1/1
functions 0/10
functions 18/18 · constants 21/21
functions 34/35 · classes 6/6 · constants 689/689
functions 0/15 · classes 0/1
functions 0/25 · classes 0/2 · constants 0/3
functions 4/4 · constants 1/1
classes 0/5
functions 0/36 · classes 0/1 · constants 0/11
functions 83/106 · classes 1/2 · constants 67/89
functions 0/10
functions 0/51 · classes 0/1 · constants 0/9
functions 0/187 · classes 0/22 · constants 0/170
functions 0/55 · classes 0/3 · constants 0/92
functions 65/65 · constants 9/9
functions 84/106 · classes 4/6 · constants 52/110
functions 0/48 · classes 0/2 · constants 0/57
functions 4/64 · classes 0/3 · constants 3/70
functions 28/28 · classes 1/1 · constants 0/129
classes 1/1
classes 1/1
classes 1/1
classes 1/1 · constants 0/1
classes 1/1
functions 0/123 · classes 0/3 · constants 0/76
functions 1/13 · constants 0/1
functions 0/6 · classes 0/1
functions 0/24 · classes 0/2 · constants 0/21
functions 0/2 · classes 0/8 · constants 0/81
functions 0/37 · classes 0/2 · constants 0/243
functions 0/104 · classes 0/1 · constants 0/94
functions 0/7 · classes 0/1 · constants 0/5
functions 0/4 · classes 0/1
functions 0/7 · classes 0/1
functions 0/24 · classes 0/2 · constants 0/161
classes 0/1 · constants 0/14
functions 0/10 · classes 0/1
functions 4/30 · classes 0/2 · constants 0/27
Language
Methodology
eval() interpreter do not count.