为什么在 html 代码中只允许 PHP 而其他语言使用 CGI?

Why only PHP allowed in html code but other languages use CGI?

例如,为什么 Python 的开发者不在 HTML 代码中使用 Python 的解释器,就像 PHP 一样?

PHP 最初主要设计为一种用于创建 Web 应用程序的编程语言(该名称代表个人主页)。为了使这更容易,他们将语言紧密集成到网页中。事实上,在 PHP 的早期版本中,代码嵌入在 HTML 注释中(类似于早期 Javascript 必须嵌入的方式)。 PHP History 页面显示了这方面的示例(这被称为 PHP/FI -- PHP Forms Interpreter):

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hey, you are using Netscape!<p>
<!--endif-->

后来,PHP 这个名字变成了递归缩略词 PHP Hypertext Preprocessor。这表明它打算嵌入到 HTML 中,就像 C 预处理器代码嵌入到 C 和 C++ 程序中一样。

嵌入式特性使得编写包含大量静态 HTML 散布着动态代码的网页变得容易。在任何其他语言中,您需要成百上千个 print 语句,而 PHP 允许您从脚本模式转义到所有静态部分的原始输出。

没有理由不能以类似的方式将其他语言嵌入到 HTML 中。但是设计者根本没有将其作为优先事项,他们打算将它们作为更通用的语言,因此他们没有将此功能放入其中。 PHP 可以作为一种独立的编程语言使用(我公司在 cron 作业中广泛使用它),这不是它最初的设计重点。