欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

如何正确的实现Tomcat支持PHP

程序员文章站 2022-04-13 18:13:48
...
我们在这篇文章中为大家详细的讲解了有关Tomcat支持PHP的相关方法,希望对大家有所帮助。在负责一个采用JSP动态网页技术的网站时,刚好手头有写的一部分功能,所以就很直接地想到让Tomcat支持PHP。

Tomcat也是Apache出的,难道就只支持JSP吗?到底能否在Tomcat上用PHP呢?上网搜索了一番,很快有了第一个问题的答案:Tomcat可以支持CGI,如Perl。

但继续搜索,却迟迟无法找到让Tomcat支持PHP的方法,一般都是采取装Apache和Tomcat共存的方法来搭建所谓的支持PHP+JSP的Web平台。

当然,其实PHP本身也支持CGI方式的使用,所以就自己动手试了一试(在Windows操作系统上):先按照附文的做法让Tomcat支持CGI,然后再改web.xml,在servlet-name为cgi的一段配置中加上:

  1. init-param>
  2. param-name>executable /param-name>
  3. param-value>php /param-value>
  4. /init-param>

并把PHP安装路径加入Path,这样Tomcat就能运行到PHP.exe了。重启Tomcat后,在WEB-INF目录下新建一个cgi目录,把php文件放在这里,然后访问时用虚拟映射出来的cgi-bin目录来访问这些PHP文件。

但是如果对PHP文件不加任何改动的话,可能会发现什么输出都没有。需要在PHP文件头部加一行,输出两个回车: echo "nn"; 原因不太清楚。可能在等待Content-type输入,或是Perl的cgi程序风格。

但这样配置,PHP(4.1.0以上版本)中$_REQUEST、$_GET、$_POST等变量就无法用了,只能从服务器变量或环境变量中获取QueryString了:$_SERVER["QUERY_STRING"]、$_ENV["QUERY_STRING"]。也许不支持表单的POST提交了……具体还没试过。

由于对Tomcat不熟悉,所以这些只是在现在方法上的小修小补,可能有好的Tomcat支持PHP的做法,还希望大家不吝指教!