【问题标题】:Do compiled PHP scripts exist?是否存在已编译的 PHP 脚本?
【发布时间】:2011-02-23 21:36:23
【问题描述】:

我想知道是否有人使用或阅读过编译为 Apache 的 .so 扩展名的 PHP 脚本......事情是我想我记得在某处读过它,但不知道是否存在这样的事情。

这看起来很有希望,但不完整且被放弃:http://phpcompiler.org/

我很感兴趣,因为我认为它可以提高性能......也许有人可以指出一个框架或 apache 扩展来做到这一点。

谢谢!!

【问题讨论】:

    标签: php apache interpreted-language compiled-language


    【解决方案1】:

    它们确实存在。 Facebook 为 PHP 提供 HipHop 编译器。
    不过,我不知道它是否适用于 Apache。
    你可能想看看:http://developers.facebook.com/blog/post/358
    Github 仓库:http://github.com/facebook/hiphop-php

    【讨论】:

    • 听起来不错,我去看看!
    【解决方案2】:

    如果您想以这种方式提高 PHP 脚本的性能,您应该尝试Zend Accelerator 之类的方法。它保留字节码,因此不必在每次请求时都重新编译。

    【讨论】:

    • 我猜字节码比在运行时解释要好。我一直在寻找已编译的,但这看起来更容易实现。谢谢!
    • 或者使用APC或者eAccelerator,不支持Zend试图将语言商业化。此外,他们计划在 PHP 6 中实现 APC(但默认情况下会关闭)。
    • @Daniel +1 反对 Zend 的计划 =]
    【解决方案3】:

    我很感兴趣,因为我认为它可以提高性能

    这是一个非常重要的问题。是的,如果您每小时处理超过一百万次点击,那么编译 PHP 会有非常实际的好处(请参阅有关 HipHop 的其他答案)。但是,如果您真的想问“我如何提高网站的性能”,那么这可能是任何人都应该给您的最后一个答案。

    如果您的目标是让您的网站运行得更快,那么您首先需要建立方法来捕获服务请求所需的时间(最好将网络和数据库时间与网络服务器时间分开),以及捕获翻页时间次(即加载页面上所有内容所需的时间)然后查看以下内容:

    • 浏览器端缓存
    • 服务器端缓存
    • 操作码缓存
    • 查询优化
    • HTTP 压缩
    • 操作系统和网络调优

    等等

    C.

    【讨论】:

    • 所以你会建议在尝试切换到编译语言之前尝试所有这些?很公平......但是,我认为由于您仍然可以在已编译的语言上实现所有上述技术,因此在其他条件不变的情况下编译仍然会给您带来优势。非常感谢您的回答,我会从列表中查找我不知道的所有内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    相关资源
    最近更新 更多