2011-11-30 65 views

回答

4

有几个用户空间方法(来自插件)可以处理Opcodes。

既不生产然而,因为操作码不被设计为是用户可写的语言(不像鹦鹉)纯文本。

+0

这意味着我可以用apc_bin_load覆盖缓存的文件,我猜...因此下一个问题将是如何看起来漂亮的操作码语句与实际使用的二进制表示形式相关联。你知道这件事吗?参考文献或其他? – Raffael

+0

http://stackoverflow.com/questions/1795425/how-to-get-opcodes-of-php有一些信息,主要是指“Vulcan Logic Dumper” - http://pecl.php.net/package/vld –

0

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

例如:

ulopcodes_emit(ZEND_ECHO, "Hello world!"); 

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

此扩展程序纯粹是教育性的,不适用于生产代码。

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

+0

是否有导出操作码的扩展名? – kodmanyagha

+0

是的,您可以使用[vld](https://github.com/derickr/vld)输出生成的操作码。 – pmmaga