我是一名PHP开发人员,已经开始学习Ruby on Rails。我喜欢启动和运行Rails应用程序的过程非常容易。我最喜欢的一件事是WEBrick。它使您不必为正在处理的每个小项目配置Apache和虚拟主机。 WEBrick使您可以轻松启动和关闭服务器,从而可以在Web应用程序中单击。
我并不总是拥有在Ruby on Rails应用程序上工作的奢侈,所以我想知道如何配置(或修改)WEBrick以便能够使用它来服务我的PHP项目和Zend Framework应用程序。
您尝试过吗?要实现这一目标,必须采取哪些必要步骤?
最佳答案
要在webrick中获得php支持,您可以对php文件使用处理程序。为此,您必须扩展HttpServlet::AbstractServlet
并实现do_GET
和do_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/