编写PHP操作码并执行它。怎么做?

时间:2011-11-30 12:53:27

标签: php opcode php-internals

如何编写PHP opcode,将其保存在文件中并使Zend Engine执行它?任何方法或黑客都是受欢迎的,只要它能够解决问题。

2 个答案:

答案 0 :(得分:4)

有几种用户空间方法(来自插件)可以处理操作码。

不会产生纯文本,但因为操作码不是用户可写的语言(与Parrot不同)。

答案 1 :(得分:0)

有一个名为ulopcodes的扩展,允许您通过暴露给PHP代码的函数发出自己的操作码。

例如:

ulopcodes_emit(ZEND_ECHO, "Hello world!");

将在当前的oparray中创建该行,该行将由VM执行。

  

此扩展程序纯粹是教育性的,不应在生产代码中使用。

(免责声明:我是ulopcodes的创建者)