What is the simplest way to detect if PHP is compiled with JIT and JIT is enabled from the running script?
You can query the opcache settings directly by calling opcache_get_status()
:
opcache_get_status()["jit"]["enabled"];
or perform a lookup in the php.ini
:
ini_get("opcache.jit")
which is an integer (returned as string) where the last digit states the status of the JIT:
0 - don't JIT
1 - minimal JIT (call standard VM handlers)
2 - selective VM handler inlining
3 - optimized JIT based on static type inference of individual function
4 - optimized JIT based on static type inference and call tree
5 - optimized JIT based on static type inference and inner procedure analyses