Как я могу написать код операции PHP, сохранить его в файле и заставить Zend Engine выполнить его? Любой метод или взлом приветствуются, если он делает трюк.
Написание PHP-кода операции и его выполнение. Как сделать?
Ответ 1
Есть несколько методов пользовательского пространства (из плагинов), которые могут иметь дело с Opcodes.
- http://uk.php.net/apc_bin_load (и http://uk.php.net/apc_bin_dump)
- http://uk.php.net/bcompiler_read/http://uk.php.net/bcompiler_write_file
Ни один из них не создает простой текст, поскольку коды операций не предназначены для записи на языке пользователя (в отличие от Parrot).
Ответ 2
Существует расширение, называемое ulopcodes, которое позволяет испускать ваши собственные коды операций с помощью функции, которую она предоставляет в PHP-коде.
Например:
ulopcodes_emit(ZEND_ECHO, "Hello world!");
Создает эту строку в текущем oparray, который будет выполняться VM.
Это расширение является чисто образовательным и не предназначено для использования в производственном коде.
(Отказ от ответственности: я являюсь создателем ulopcodes)