我该如何编写PHP opcode,将它保存在一个文件中并让Zend引擎执行它?任何方法或黑客都是受欢迎的,只要它有效。编写PHP操作码并让它执行。怎么做?
回答
有几个用户空间方法(来自插件)可以处理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
既不生产然而,因为操作码不被设计为是用户可写的语言(不像鹦鹉)纯文本。
这意味着我可以用apc_bin_load覆盖缓存的文件,我猜...因此下一个问题将是如何看起来漂亮的操作码语句与实际使用的二进制表示形式相关联。你知道这件事吗?参考文献或其他? – Raffael
http://stackoverflow.com/questions/1795425/how-to-get-opcodes-of-php有一些信息,主要是指“Vulcan Logic Dumper” - http://pecl.php.net/package/vld –
有一个名为ulopcodes的扩展,它允许您通过它暴露给PHP代码的函数发出自己的操作码。
例如:
ulopcodes_emit(ZEND_ECHO, "Hello world!");
将创建将由VM执行的当前oparray该行。
此扩展程序纯粹是教育性的,不适用于生产代码。
(声明:我是ulopcodes的创建者)
是否有导出操作码的扩展名? – kodmanyagha
是的,您可以使用[vld](https://github.com/derickr/vld)输出生成的操作码。 – pmmaga
- 1. 将PHP编译为操作码并执行操作码
- 2. PDO PHP编写,并用UNIX_TIMESTAMP()执行
- 3. performSelectorInBackground并执行UI操作
- 4. 在Java中执行新操作后,代码块会执行什么操作?
- 5. 你怎么让JavaScript代码执行*为了*
- 6. 无法让ClientScriptManager执行任何操作
- 7. 如何让超链接在PHP中执行操作?
- 8. PHP操作码与实际执行的二进制代码有什么关系?
- 9. 我该怎么做才能让它自动打电话?
- 10. 编写获取命令并执行它的脚本
- 11. 如何在Clojure中编写/执行类型操作?
- 12. 如何编写存储过程来执行此操作?
- 13. 在塔架中,如何在编写回应后执行操作?
- 14. 编写在文件上执行CRUD操作的Verticles
- 15. 通过编程写入触发器或执行操作?
- 16. 执行操作
- 17. 执行操作
- 18. 如何为ffplay编写接口并让它对键盘事件做出反应
- 19. 加入数据框并执行操作
- 20. 开始下载并执行操作?
- 21. 执行的操作JButton,并KeyListener的UP
- 22. 在结束编辑时执行操作
- 23. 如何在drupal中执行php操作
- 24. 单击图片并执行一些操作php
- 25. 我可以直接用二进制编写程序吗?我怎样才能让电脑执行它?
- 26. Bash脚本 - 查找目录,并在其中执行操作。或查找文件,并用它做
- 27. 如何执行Dalvik操作码
- 28. 继续执行PHP代码之前的用户操作
- 29. (DI)为什么我不能在我的PHP代码中执行此操作
- 30. php操作失败后成功执行jquery操作
什么是操作码? – abcde123483
尝试谷歌它:) – Raffael