Если вам разрешено запускать настоящие собственные двоичные файлы, то это ваш компилятор:
https://github.com/ircmaxell/php-compiler
Это PHP-компилятор, написанный на PHP!
Он компилирует код PHP в свой собственный код VM. Этот код виртуальной машины может быть либо интерпретирован его собственным интерпретатором (также написанным на PHP, не правда ли?), Либо он может быть переведен в битовый код. А с использованием инфраструктуры компилятора LLVM ( clang
и совместно) этот битовый код может быть скомпилирован в собственный двоичный файл для любой платформы, которую поддерживает LLVM (в значительной степени для любой платформы, которая имеет значение сегодня). Вы можете сделать это статически или каждый раз перед выполнением кода (стиль JIT). Таким образом, для работы этого компилятора требуется только два требования: установленный интерпретатор PHP и установленный clang
компилятор.
Если вам не разрешено запускать собственные двоичные файлы, вы можете использовать вышеупомянутый компилятор в качестве интерпретатора и позволить ему интерпретировать свой собственный код виртуальной машины, однако это будет медленным, поскольку вы запускаете интерпретатор PHP, который сам работает на движке PHP, поэтому у вас есть «двойная интерпретация».