php - 如何将 C++ 部署到我的 Web 服务器?

标签 php c++ apache

根据这篇文章 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/

相关文章:

c++ - 隐形主窗口

c++ - 用 qt c++ 显示新框架

php - 为什么 "500 internal server error"具有 index.php 权限 666?

php - Uncaught Error : Call to a member function

php - 加入两个 mysql 查询?

php - 无法使用 MySQLi 连接到数据库,但可以使用 MySQL

mysql - XAMPP 服务器 mysql 未启动 "Attempting to start mysql"

php - 如何对 simplexml_load_file 进行错误检查?

c++ - 修改 const 变量值的最简单方法

regex - htaccess将Google广告系列跟踪附加到别名网址