1

对于我的大学项目,我想用 C 语言创建一个在 Apache 上运行的简单应用程序服务器。像 .php、.asp、.jsp 一样,我的文件扩展名为 .sas。

我已经编写了一个解析器,它读取 .sas 文件并生成输出。例如,考虑具有以下代码的文件 index.sas:

<%   
echo "Hello";  
%>  

现在,如果我执行:

sas索引.sas

结果将是:

你好

现在我想将此程序用作 Apache 上的应用程序服务器,就像 PHP、Tomcat 等在 Apache 上工作一样。我听说过 cgi-bin,但我认为 PHP 使用了不同的方法。我想了解 PHP 使用的方法。

请指教。

4

3 回答 3

1

您需要使用 Apache API 编写一个模块。

可以在此处找到一些带有示例的基本文档。

http://www.auburn.edu/docs/apache/mod/mod_example.html

于 2010-01-15T19:36:49.137 回答
1

更正一点:Apache HTTP Server不需要能够将 Apache Tomcat 作为网络服务器运行。Apache Tomcat 本身已经是一个成熟的网络服务器。您的困惑可能是由Tomcat 连接器引起的,该连接器可用于将 Apache HTTP Server 和 Apache Tomcat 连接在一起,以便能够在同一个 HTTP 端口后面提供 PHP/JSP。

至于您的实际问题,PHP 可以安装为 CGI 模块或 ASAPI (Apache Server API) 模块。如果您想为 Apache HTTP Server 编写 CGI 模块,那么您可能会发现此文档很有用。如果您想编写一个 ASAPI 模块,那么您可能会发现这些文档很有用。

于 2010-01-15T19:39:20.547 回答
0

不不不!!!我说“不”够吗?:)

您无需创建新模块或查看 PHP 源代码。谈论使用方形巨石重新发明轮子。

最简单的方法是使用 mod_cgi。也就是说,您使用 CGI 让 Apache 将请求转发给您的 SAS 解释器。

[Apache 1.3x] - http://httpd.apache.org/docs/1.3/mod/mod_cgi.html

[Apache 2.0x] - http://httpd.apache.org/docs/2.0/mod/mod_cgi.html

[CGI] - http://en.wikipedia.org/wiki/Common_Gateway_Interface

现在,如果您不想使用 CGI(不知道为什么,除非您的作业说明明确禁止它),那么是的,您将不得不创建一个模块。为此,请将此作为起点(由 google 提供):

http://threebit.net/tutorials/apache2_modules/tut1/tutorial1.html

不过,祝你好运。它可能会变得劳动密集型。

希望能帮助到你。

于 2010-04-03T20:07:07.477 回答