【问题标题】:How zend engine compile php codes or How php compiler works?Zend 引擎如何编译 php 代码或 php 编译器如何工作?
【发布时间】:2011-07-19 15:23:15
【问题描述】:

您好,任何人都知道zend 引擎是如何编译php 代码的。 例如。在java中,我们的代码在转换为机器语言之后被编译为字节码。同样明智的是zend引擎如何编译php代码?请帮助我。

【问题讨论】:

标签: php compiler-construction


【解决方案1】:

这与 PHP 的想法是一样的:

  • 第一步:PHP源代码(即一些文本)被编译成一组操作码
  • 第二步:执行那些操作码。


默认情况下,每次执行 PHP 脚本时都会进行此编译——这会占用一些 CPU。

这就是你可以使用一些操作码缓存的原因(如APC extension,将操作码存储在内存中——避免冗余编译步骤。


您可以在 Sebastian Bergmann 的以下演示文稿中找到有关这些过程的一些有趣信息:PHP Compiler Internals

【讨论】:

  • 嘿,你有什么好的详细文档,请与我分享。
  • 我已经编辑了我的答案,其中包含指向提供一些信息的演示文稿的链接;但它是 PHP 的一部分,教程或任何东西都没有真正涵盖:您经常会从 core-developpers 得到的答案是“查看源代码”
  • 那个链接失效了,我想这是同一个演示文稿:scribd.com/doc/18171982/PHP-Compiler-Internals
【解决方案2】:

Zend 引擎在 PHP 内部用作编译器和运行时引擎。 PHP 脚本被加载到内存中并编译成 Zend 操作码。执行这些操作码并将生成的 HTML 发送到客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 2016-02-14
    • 2020-11-27
    • 1970-01-01
    • 2014-04-21
    • 2013-07-10
    • 2014-03-02
    相关资源
    最近更新 更多