我是一名PHP开发人员,已经开始学习Ruby on Rails。我喜欢启动和运行Rails应用程序的过程非常容易。我最喜欢的一件事是WEBrick。它使您不必为正在处理的每个小项目配置Apache和虚拟主机。 WEBrick使您可以轻松启动和关闭服务器,从而可以在Web应用程序中单击。

我并不总是拥有在Ruby on Rails应用程序上工作的奢侈,所以我想知道如何配置(或修改)WEBrick以便能够使用它来服务我的PHP项目和Zend Framework应用程序。

您尝试过吗?要实现这一目标,必须采取哪些必要步骤?

最佳答案

要在webrick中获得php支持,您可以对php文件使用处理程序。为此,您必须扩展HttpServlet::AbstractServlet并实现do_GETdo_POST方法。这些方法用于来自浏览器的GET和POST请求。在那里,您只需要将传入的请求提供给php-cgi即可。

要使PHPHandler处理php文件,您必须将其添加到特定安装的HandlerTable中。您可以这样做:

s = HTTPServer.new(
    :Port => port,
    :DocumentRoot => dir,
    :PHPPath => phppath
)
s.mount("/", HTTPServlet::FileHandler, dir,
    {:FancyIndexing => true, :HandlerTable => {"php" => HTTPServlet::PHPHandler}})

第一条语句初始化服务器。第二个选项将选项添加到DocumentRoot挂载。在这里,它启用目录列表并使用PHPHandler处理php文件。之后,可以使用s.start()启动服务器。

我自己写了一个PHPHandler,因为在其他地方找不到。它基于webricks CGIHandler,但经过重新设计使其可以与php-cgi一起使用。您可以在GitHub上查看PHPHandler:

https://github.com/questmaster/WEBrickPHPHandler

关于php - 使用WEBrick服务PHP Web应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5437664/

10-10 03:42