tomcat配置php 和Perl

来源:互联网 发布:数据分析 企业管理 编辑:程序博客网 时间:2024/06/06 06:58

-工具
tomcat7.65
php5.6 http://windows.php.net/downloads/releases/php-5.6.17-nts-Win32-VC11-x64.zip
Tomcat需要JDK 1.6以上,所以JDK需要先安装好。
二、配置步骤:
1、到D:\Application\php-5.4.31目录下
将php.ini-development复制一份同一目录下,命名为php.ini
<1>设置extension_dir参数:
extension_dir=”D:\Application\php-5.4.31\ext”
<1>设置cgi.force_redirect参数:
cgi.force_redirect = 0

2、打开Tomcat的conf下的context.xml文件
给Context增加属性privileged=”true”,修改后的Context元素属性如下所示:

3、打开Tomcat的conf下的web.xml文件
在servlet和servlet-mapping之间增加如下的内容:(注意,注释不能放到配置项里面,否则启动报错)

   <!--Add to support PHP & Perl --><servlet>        <servlet-name>cgi</servlet-name>        <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>        <init-param>          <param-name>debug</param-name>          <param-value>0</param-value>        </init-param>        <init-param>          <param-name>cgiPathPrefix</param-name> <param-value>WEB-INF/cgi-bin</param-value>        </init-param>         <load-on-startup>5</load-on-startup></servlet><servlet><servlet-name>php</servlet-name><servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class><init-param><param-name>clientInputTimeout</param-name><param-value>200</param-value></init-param><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>executable</param-name><param-value>F:/apache-tomcat-8.0.30/php/php-cgi.exe</param-value></init-param> <init-param> <param-name>passShellEnvironment</param-name><param-value>true</param-value></init-param><init-param><param-name>cgiPathPrefix</param-name><param-value>WEB-INF/php-bin</param-value> </init-param><load-on-startup>5</load-on-startup></servlet><servlet-mapping><servlet-name>php</servlet-name><url-pattern>/php-bin/*</url-pattern></servlet-mapping><servlet-mapping><servlet-name>cgi</servlet-name><url-pattern>/cgi-bin/*</url-pattern></servlet-mapping>

备注:
1、我们配制了两个servlet,分别是php、CGI
2、在servlet参数中
executable
D:\Application\php-5.4.31\php-cgi.exe
指向CGI程序执行器,其实就一可被调用的可执行程序。(这里带全路径,好像不带路径也可以,因为path环境变量里已经配置了),记住不要用php.exe。
如果没有配置,缺省就是调用perl执行程序。

3、脚本存放路径
cgiPathPrefix
WEB-INF/cgi-bin
这里将perl脚本配置的是指向webapps/web-inf/cgi-bin目录下。
cgiPathPrefix
WEB-INF/php-bin
PHP的脚本指向的是webapps/web-inf/php-bin目录下。

4、资源URL路径映射。
这里如果请求的资源是/php-bin/则,指向php服务程序,如果是/cgi-bin/则指向cgi服务程序。

<?php phpinfo();?>Test.cgi内容如下:# filename: test1.cgiprint "Content-type: text/html\n\n";print "Hello, world!\n"

三、测试
1、分别将如下的test.php和test.cgi测试程序放到webapps\ROOT\WEB-INF\php-bin和webapps\ROOT\WEB-INF\cgi-bin目录下。
其中test.php内容如下:

0 0
原创粉丝点击