【问题标题】:Can you use HipHop PHP to build a php extension? [duplicate]你可以使用 HipHop PHP 来构建一个 php 扩展吗? [复制]
【发布时间】:2012-04-19 22:06:01
【问题描述】:

可能重复:
Using Hiphop for PHP extension development

这个问题类似于以下:Using Hiphop for PHP extension development

我认为这个问题没有得到正确回答,如果有的话。

我相信您可以使用 HipHop PHP 将 php 文件转换为 C++,而无需添加 facebooks 网络服务器。因此,您只需将 php 文件转换为 C++ 源代码即可。然后您可以将该代码编译为 php 扩展吗?我有一些与安全相关的函数,我想编译为扩展,但我不知道 C/C++。请不要回答“你和 facebook 一样大吗?你不需要 hiphop”或“使用 Ioncube/Zend Guard”。我知道这些产品存在。它们也很贵。

【问题讨论】:

  • 如果其他问题有问题,您应该在此处发表评论,或在适当的情况下标记版主。

标签: php compilation hiphop


【解决方案1】:

我在去年的一次会议上向 Scott MacVicar 询问了这个主题(我想构建一些我自己的库作为扩展),并得到回应说 HipHop 不能用于构建可以针对“标准”构建的扩展" Zend PHP。

这就是为什么我一直在寻找诸如 phc 之类的替代方案,它可以将 PHP 脚本转换为 PHP 的 C 语言扩展(以及从 PHP 源代码构建可执行文件)

【讨论】:

  • 您对 phc 有什么好运吗?你能用它来编译扩展吗?
  • @Trevor - 遗憾的是不在其当前状态,我正在重温我的 C 并查看扩展 phc 以正确构建类常量、抛出的异常以及它无法处理的其他功能现在......它有很多事情要做,但还不是全部
【解决方案2】:

它被编译为 C++,如果你使用大头针./hphp/hphp text.php --keep-tempdir=1,你可以保留 C++ 代码以及编译后的代码

您可以潜在地使用 HipHop PHP 将您的 PHP 文件转换为 C++,并且可以构建扩展。

来自 HipHop 网站的引述

导致 HipHop 的明确设计目标之一是能力 继续直接在 PHP 中编写复杂的逻辑。公司有 大型 PHP 代码库通常会重写其复杂的功能 直接作为 C 或 C++ 中的 PHP 扩展。这样做最终 减少能够为公司工作的人数 整个代码库。通过在 PHP 中保留这个逻辑,Facebook 能够 快速行动并保持大量能够工作的工程师 跨越整个代码库。

【讨论】:

  • 你得到了代码。否则你将无法编译。
  • 我不确定你是否可以让 HipHop 输出代码,因为编译同时完成,所以你只有机器码
  • @Karoly 你得到了某种形式的代码,而不是 C/C++ 代码。你会得到一些可以编译为 C++ 的东西,但是太模糊而不能被称为“源代码”
  • @Mahmoud Al-Qudsi:那是完全有效的 C/C++ 代码(同样,否则你将如何编译它?),但它当然看起来很模糊。
  • 因此引用了“源代码”。它是 C++,但也可能是目标代码。
猜你喜欢
  • 2011-11-30
  • 2011-11-18
  • 2011-09-27
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多