设为首页 收藏本站
查看: 483|回复: 0

[经验分享] tomcat 下运行php

[复制链接]

尚未签到

发表于 2017-1-24 08:48:50 | 显示全部楼层 |阅读模式
  环境:
操作系统: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 isSystem.getProperty("file.encoding","UTF-8").
  • passShellEnvironment - Should the shell environment variables (if any) be passed to the CGI script? Default isfalse.
      我们需要添加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生产环境用的就是这种,比较稳定

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332669-1-1.html 上篇帖子: Tomcat内存溢出的研究 下篇帖子: tomcat事件处理机制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表