设置服务器端解释器

问题描述:

确定。所以,让我们以PHP为例。设置服务器端解释器

  • 我在浏览器中输入一个URL,请求一个php脚本。 (例如http://www.somedomain.com/index.php
  • 浏览器发送该请求到适当的服务器。
  • 服务器承认 - 通过其扩展名(.php) - 这是一个PHP 文件。
  • PHP解释处理文件并输出该结果。
  • 服务器发回输出

现在,假设我们正在处理一个......自制的解释器XYZ(及其二进制等),处理例如与.xyz文件。

我应该怎么做,所以上述所有内容对我的XYZ解释器都有效?

我应该如何设置这整个事情了,所以它正常工作?


提示:我不要求对如何编写一个解释的帮助,但如何使其功能上述方式...

+0

首先阅读您的网络服务器的文档,了解如何为所需的任何文件类型添加新的“处理程序”。除此之外,你的问题是无法回答的。浏览器与此无关,因为您正在处理纯粹的服务器端代码。 – 2012-04-09 17:00:29

+0

你需要配置Apache或任何Web服务器来告诉他们:“嘿,这是一种新语言,XYZ,这里是你如何解释它,并使用XYZ和以.xyz结尾的文件”。这不是一件容易的事。 – gosukiwi 2012-04-09 17:00:57

+0

你的问题似乎不太清楚。解释器是PHP兼容的,Web服务器软件还是一些Apache /其他插件? 我猜它输出像PHP一样的HTML吗? – q3d 2012-04-09 17:01:49

这完全取决于什么网站你正在使用的服务器。但是,如果这是Apache,则应该查看apxs以构建和安装自己的apache模块。谷歌将帮助您找到关于apxs的在线教程。

对于添加处理特定文件的结尾,你应该做这样的事情在你的Apache配置(后您的iterpreter/Apache模块构建):

AddHandler my_handler .end 
+1

我只想添加一件事......您可以使用CGI或FastCGI方式,但是:如果您想要街道信誉/ geek cred,用apxs构建你自己的模块是最棒的!!!。:!!!!:! – 2012-04-09 20:12:24

你的选择是要么使用现有的,标准接口和编写你的软件以符合它,或为服务器编写一个新的模块。

对于前者,CGI很简单,但效率不高,而FastCGI是更现代的,但相对复杂。

如果你想要写一个新的模块,那么具体将取决于你所处理的服务器上。