使用tomcat运行php应用程序?

GBa*_*GBa 43 php apache tomcat

是否可以使用tomcat运行PHP应用程序?

在你告诉我只使用httpd之前,我已经在我的网络服务器上运行了一个Java应用程序host/myapp.现在我想在host/roundcube上安装RoundCube.

一个是PHP,一个是Java.我一直看到随便的引用说这是可能的,但没有真正的指示.我不想把它们放在不同的端口上,我需要标准的HTTP和HTTPS端口.

有没有人有这方面的资源?

Sau*_*ngh 45

是的,可能会Den.我们可以使用它自己的端口号localhost:8080在tomcat服务器中运行PHP代码

在这里,我正在写一些对你有用的步骤.

如何在Windows中的Tomcat 6上安装或运行PHP

  1. 下载并将PHP 5解压缩到一个目录,c:\php-5.2.6-Win32- php-5.2.9-2-Win32.zip下载

  2. 下载PECL 5.2.5 Win32二进制文件 - PECL 5.2.5 Win32下载

  3. 重命名php.ini-distphp.inic:\php-5.2.6-Win32

  4. 取消注释或添加行(在开头删除分号)php.ini: ;extension=php_java.dll

  5. php5servlet.dll从PECL 5.2.5 复制到c:\php-5.2.6-Win32

  6. php_java.dllPECL 5.2.5复制到c:\php-5.2.6-Win32\ext

  7. php_java.jarPECL 5.2.5复制到tomcat\lib

  8. 在目录中创建一个名为"php"(或者你喜欢的)tomcat\webapps目录

  9. phpsrvlt.jarPECL 5.2.5复制到tomcat\webapps\php\WEB-INF\lib

  10. unjar或unzip解phpsrvlt.jar压缩使用winrar或winzip进行unjar用途:jar xfv phpsrvlt.jar

  11. 同时改变net\php\reflect.propertiesnet\php\servlet.propertieslibrary=php5servlet

  12. 重新创建jar文件 - > jar cvf php5srvlt.jar net/php/. PS:如果jar文件没有运行,你必须为我添加系统变量的路径C:\Program Files\Java\jdk1.6.0\bin; to System variables/Path

  13. 建立web.xmltomcat\webapps\php\WEB-INF这个内容:

    <web-app version="2.4" 
      xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
      http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ">
      <servlet>
        <servlet-name>php</servlet-name>
        <servlet-class>net.php.servlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>php-formatter</servlet-name>
        <servlet-class>net.php.formatter</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>php</servlet-name>
        <url-pattern>*.php</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>php-formatter</servlet-name>
        <url-pattern>*.phps</url-pattern>
      </servlet-mapping>
    </web-app>
    
    Run Code Online (Sandbox Code Playgroud)
  14. 将PHP路径(c:\php-5.2.6-Win32)添加到Windows enironment中的系统或用户路径(提示:右键单击并从" 我的电脑"中选择"属性"

  15. 创建test.php下测试tomcat\webapps\php

  16. 重启tomcat

  17. 浏览 localhost:8080/php/test.php

  • +1这个很好的教程.在我添加了一个缺失的步骤后,它工作正常.缺少的步骤是:将**php_java.jar**从**PECL 5.2.5**复制到**tomcat\lib**目录. (3认同)

Arj*_*jan 31

在Apache之后运行Tomcat是很常见的.在Apache中,您可以将某些URL定向到Tomcat,并让Apache/PHP处理其他URL(包括静态图像).

(在Unix上,Tomcat本身不能安全地在端口80上运行,而Apache可以.作为Java进程的Tomcat将需要以root身份运行,而Apache将在端口80一直切换到非root权限因此,在端口80上运行Apache并将其部分或全部请求重定向到Tomcat,在Unix上很常见.)

  • 当然你可以在Unix上的端口80上运行tomcat而不是root.只需使用iptables将端口80重定向到端口8080即可. (8认同)
  • 这绝对是最简单的选择.要从Apache调用Tomcat,您应该查看Apache mod_jk模块. (3认同)

Equ*_*tic 7

Caucho Quercus可以在jvm上运行PHP代码.


小智 6

有点晚了,但到了.

如果你只想在tomcat上运行真正的php,请http://wiki.apache.org/tomcat/UsingPhp怎么样?

关于在端口80上运行tomcat,总是有jsvc,只是google jsvc + tomcat.


Wil*_*ung 5

有这个PHP/Java桥.这基本上是通过FastCGI运行PHP.我自己没有用过它.