环境:
操作系统:IBM aix5.3(当然linux环境和windows下肯定是没问题的)
1 运行php当然首选apache这里就不讲apache方式了,可见于http://www.blogjava.net/freeman1984/archive/2011/06/10/352043.html,但是在aix下php和apache的结合始终没有装好,linux下我试过一点问题没有。有成功的案例可以给个链接看看,谢谢!
下面介绍两种单独使用tomcat运行php的:
-------------------------------------------------------------------------------------------
1 使用tomcat内置的cgi支持(需要安装php环境,去官网下载就行了http://www.php.net/downloads.php,要注意的是,我在aix上5.X装不上,用4.X的没问题)
相关文档可见于tomcat的安装目录webapps下面的doc查看cgi-howto.html界面里面有介绍,当然tomcat5.X和6.X有不同的地方:
5.X步骤:
1 :Rename $CATALINA_BASE/server/lib/servlets-cgi.renametojar
to $CATALINA_BASE/server/lib/servlets-cgi.jar
.
这个大家应该知道意思。
2.Remove the XML comments from around the CGI servlet and servlet-mapping configuration in $CATALINA_BASE/conf/web.xml
.(也就是添加cgi的servlet支持,打开注释即可)
具体如下:
<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</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
还有后面的mapping
<!-- The mapping for the CGI Gateway servlet -->
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
3 添加several servlet init parameters which can be used to configure the behaviour of the CGI servlet(添加几个servlet的参数)
-
cgiPathPrefix - The CGI search path will start at the web application root directory + File.separator + this prefix. The default cgiPathPrefix is
WEB-INF/cgi(php文件放置的位置)
- debug - Debugging detail level for messages logged by this servlet. Default 0.
-
executable - The of the executable to be used to run the script. Default is
perl
.(添加解析php的引擎) -
parameterEncoding - Name of the parameter encoding to be used with the GCI servlet. Default is
System.getProperty("file.encoding","UTF-8")
. -
passShellEnvironment - Should the shell environment variables (if any) be passed to the CGI script? Default is
false
.
我们需要添加executable 即可:windows下我的php引擎位置:D:\PHP\php-cgi.exe(aix下为/usr/local/php4/bin/php),因此在第二步里面添加下面参数:
<init-param>
<param-name>executable</param-name>
<param-value>D:\PHP\php-cgi.exe</param-value>
</init-param>
tomcat6.X下面没有第一步。
4,测试,添加一个web应用,这里使用ROOT即可,编写一个index.php放到webapps/ROOT/WEB-INF/cgi/下面内容:
<?php
echo("helloworld");
?>
启动tomcat,访问http://localhost:8080/cgi-bin/index.php即可。
---------------------------------------------------------------------------------
另外一种方式是使用quercus:
Quercus是Caucho公司采用纯Java开发的一个PHP5引擎。基于开源授权协议GPL发布。Quercus自带很多个PHP模块和扩展如 PDF,PDO,MySQL和JSON。可以利用这个引擎在一些JavaEE应用容器(Resin,GlassFish等)中运行PHP程序,也可以在 PHP脚本中调用一些Java服务如JMS。Quercus会预先把PHP文件编译成.java文件,然后再执行。 http://quercus.caucho.com/。
当然可以使用resin作为服务器运行也可以,我们这里使用tomcat,需要jdk1.5以上(我试了1,4貌似不行,估计和我下载的quercus有关系),下面是步骤:
1 我们把php项目当做一个web项目放在webapps下,并在里面建WEB-INF\lib目录
2 从http://quercus.caucho.com/。下载quercus-4.0.18.zip ,提取里面的web.xml放到
WEB-INF下面,提取里面的cdi-16.jar,resin.jar放到WEB-INF\lib下面。
3 启动tomcat,
4 像访问j2ee web应用一样访问php应用即可。我们现在aix生产环境用的就是这种,比较稳定
相关推荐
Struts2+Hibernate+mysql+eclipse在线考试系统_hy4.zip
【Java】基于rbac思想以及ssm框架(导入jar包的方式)的权限管理项目
AndrewNg机器学习对应PythonJupyterNotebook_hy4
玄武是针对影视特效和动画行业的项目流程管理系统,基于图形图像行业流行的Python开发语言,整合现有CG工作流程,通过_hy4
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
基于Nestjs的RBAC权限系统开发实战_hy4
【Python】基于rbac权限分配、动态二级菜单、面包屑、批量操作_pgj
SpringBlade3.0架构核心工具包,SpringBlade是一个由商业级项目升级优化而来的SpringCloud分布_hy4
该项目是一款基于Vue框架的uniapp分销商城小程序设计源码,包含1412个文件,涵盖471个JavaScript文件、292个Vue文件、253个Markdown文件、202个JSON文件、43个映射文件、34个SCSS文件、33个微信小程序样式文件、33个WXML文件、22个PNG图片文件、9个WXS文件。该项目适用于构建分销商城小程序,支持微信小程序平台,并集成了多种编程语言和文件类型,以实现高效和灵活的开发需求。
java教务管理系统教学管理系统,系统页面设计良好、内容丰富、功能齐全,适合用做课设学习。含有源码、数据库文件以及项目资料文档,感_hy4
【Python】四川大学微服务健康每日报自动打卡
设计模式学习笔记_hy5
该项目是一个以C++为主要编程语言的算法设计与实现学习资源,包含190个文件,涵盖131个头文件(.h)、41个C++源文件(.cpp)、12个其他文件(.a)、2个文本文件(.txt)、1个Git忽略文件(.gitignore)、1个Markdown文件(.md)、1个C编译配置文件(.cc)、1个Protocol Buffers描述文件(.proto)。这些文件共同构成了一个全面的学习材料,旨在帮助开发者深入理解算法设计原理及其在C++语言中的实现。
使用C++实现的23种设计模式_hy4
医疗器械检测系统源码分享
分布式事务tx-lcn_hy4
分布式事务demo_hy4
本项目是一款基于Vue框架开发的微信表情输入组件源码,共包含25个文件,涵盖13个JavaScript文件、4个Vue组件文件、2个PNG图片文件,以及配置文件、Git忽略文件等辅助文件。该组件旨在为Vue应用提供便捷的微信表情输入功能,适用于各类社交和聊天应用场景。
[译]写给人类的机器学习_hy4