5

在此处输入图像描述
(来源:atmel.com

背景

我有 5 年的 PHP 背景,上个月我一直在忙着寻找一种用 C++ 做 Web 的方法(即使我知道这是幼稚和愚蠢的,我觉得 C++ 是唯一真正的编程语言,我有这种对它的宗教信仰让我爱它并且只爱它)。

我的 CGI 之旅

我遇到了几篇博客文章(主要是从 2000 年到 2003 年),讨论并在这里进行了一些聊天讨论。这是我收集的:

  • PHP 是为 Web 设计的,而 C++ 是一种通用语言。
  • PHP 不一致,在网络上有很多仇恨
  • PHP 是目前最常见和受支持的脚本语言
  • CGI 是一种非常古老且常见的技术,在 PHP 之前使用(PHP1 实际上是 C 的 CGI 库)
  • 在 CGI(vs PHP)中,我们fork-exec遇到了每个进程的执行问题,这会减慢一切
  • ^ 这就是 FastCGI 的用途
  • 对于一些常见的数学运算,C++ 比 PHP 快 200 倍(因为 PHP 是一种解释性语言)
  • 需要性能的大型网站不使用纯 PHP(Facebook 使用与 C++ 相关的 HipHop,在 Google 上有几个关于它是用 Perl、C++、C 或除 PHP 之外的其他语言编写的谣言)
  • PHP 学习和编写速度更快
  • C++ 有非常糟糕的字符串操作方法
  • 有一些很好的(主观的)C++ CGI 库,比如 wT(机智)。
  • 有些人只是告诉我尽可能远离 PHP

真实问题

今天我必须决定使用 PHP 还是 CGI。我问你:

  1. CGI在2013年死了吗?(是的,我知道以前有人问过
  2. 由于每个人都需要性能,并且考虑到我花了大约 1 年的时间为网络构建一个可靠的 C++ 库,而且我不喜欢简单的东西,现在使用 CGI(或 FCGI)有什么缺点(相比之下新技术)
  3. 有没有更有效的方法来用 C++ 构建网站
  4. FastCGI 的真正意义是什么?
  5. FastCGI 是否得到广泛支持?
  6. 考虑到我必须围绕单个网站/服务器/数据库构建 Web 工具、Web 应用程序、iphone 应用程序、pc 应用程序和 mac 应用程序的项目,我实际上可以为我的应用程序重用 C++ 网站中的一些代码吗?(例如数据库交互)?
4

1 回答 1

5
  1. 几乎只用于非常特殊的情况
  2. 不要构建一个使用一个:CppCMS*
  3. 是的,C++ Web 框架
  4. 因为很久以前就死了
  5. 它取代了 CGI 使其非常高效
  6. 是 - 所有主要(和次要)网络服务器都支持它

* Full-disclosure: I am the author

于 2012-11-10T14:13:12.683 回答