根据这篇文章 here有3种方式
- (1) 用 C++ 完成所有事情,使您的程序成为一个独立的网络服务器(可能通过 apache 代理以提供 ssl、静态媒体、身份验证等)
- (2) 通过 apache 在 cgi-bin 中运行 C++
- 制作一个 PHP 包装器,将 C++ 部分封装起来(如果性能关键部分很小,这是一个不错的选择,因为您仍然可以使用 PHP 的垃圾收集和字符串操作给您带来的便利)
我不确定哪个最好,所以我查看了高流量网站的作用。这是来自 Facebook 的帖子 2010
他们使用静态分析工具 Hip Hop,将 PHP 转换为 C++。
我不需要静态分析工具,因为我只有大约 1500 行并且可以手动转换...但我需要一个起点。
现在我运行一个灯组,并希望在减去 (P)HP 后继续使用它。
这是一个link这解释了 Facebook 是如何运作的。不确定它有多准确。
谢谢
最佳答案
正如评论所述,Facebook 几乎可以肯定使用了高度定制的解决方案,该解决方案涉及高管理成本以换取非常高的效率。这不太可能是您真正想要的。
由于您想要的只是替换 LAMP 堆栈中的“P”,这意味着您可能想要保留“LAM”——Linux、Apache 和 MySQL(如果相关)部分。这是个好主意;虽然在 Facebook 的规模上运行自定义 Web 服务器有优势,但它实际上对您有用的可能性极小,继续运行 Apache 肯定更容易和更简单。 (而且可能更安全,因为您不必自己考虑安全性和修复错误。)
并且您计划翻译所有 PHP,而不仅仅是其中的一部分,因此从 PHP 调用 C++ 没有意义。
因此,在您的情况下,最好的解决方案很可能是通过 cgi-bin 与您现有的 Apache 服务器一起运行 C++ 应用程序。
关于php - 如何将 C++ 部署到我的 Web 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167904/