使用tomcat运行一个php应用程序?
是否有可能使用tomcat运行PHP应用程序?
在告诉我只使用httpd之前,我已经在host/myapp
web服务器上运行了一个Java应用程序。 现在我想在主机/ roundcube上安装RoundCube。
一个是PHP,一个是Java。 我一直看到非正式引用说这是可能的,但没有真正的指示。 我不想把它们放在单独的端口上,我需要标准的HTTP和HTTPS端口。
有没有人有这方面的资源?
是的,这是可能的会议室 。 我们可以使用它自己的端口号localhost:8080在tomcat服务器上运行PHP代码
在这里我正在写一些对你有用的步骤。
如何在Windows中的Tomcat 6上安装或运行PHP
-
下载并解压PHP 5到一个目录,
c:\php-5.2.6-Win32
– php-5.2.9-2-Win32.zip下载 -
下载PECL 5.2.5 Win32二进制文件 – PECL 5.2.5 Win32下载
-
在
c:\php-5.2.6-Win32
中将php.ini-dist
重命名为php.ini
-
在
php.ini
取消注释或添加行(在开始处移除分号);extension=php_java.dll
-
从PECL 5.2.5复制
php5servlet.dll
到c:\php-5.2.6-Win32
-
从PECL 5.2.5复制
php_java.dll
到c:\php-5.2.6-Win32\ext
-
从PECL 5.2.5复制
php_java.jar
到tomcat\lib
-
在
tomcat\webapps
目录下创build一个名为"php"
(或者你喜欢的)的目录 -
从PECL 5.2.5复制
phpsrvlt.jar
到tomcat\webapps\php\WEB-INF\lib
-
unjar或unzip
phpsrvlt.jar
解压缩使用winrar或winzip unjar使用:jar xfv phpsrvlt.jar
-
将
net\php\reflect.properties
和net\php\servlet.properties
改为library=php5servlet
-
重新创buildjar文件 – > jar cvf php5srvlt.jar net / php / 。 PS:如果jar文件不运行,您必须为我添加系统variables的path我添加了
C:\Program Files\Java\jdk1.6.0\bin; to System variables/Path
C:\Program Files\Java\jdk1.6.0\bin; to System variables/Path
-
使用以下内容在
tomcat\webapps\php\WEB-INF
创buildweb.xml
:<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>
-
在Windows环境中添加PHPpath(
c:\php-5.2.6-Win32
)到您的系统或用户path(提示:右键单击并从我的电脑中select属性 -
在
tomcat\webapps\php
下创buildtest.php
进行testing -
重新启动tomcat
-
浏览
localhost:8080/php/test.php
在Apache后面运行Tomcat是很常见的。 在Apache中,您可以将某些URL指向Tomcat,并使Apache / PHP处理其他(包括静态图像)。
(在Unix上,Tomcat本身无法安全地在80端口上运行,而Apache可以,作为Java进程的Tomcat将需要以root身份运行,而Apache一切到端口80就切换到非root权限因此,在端口80上运行Apache,并将其部分或全部请求redirect到Tomcat,在Unix上是相当常见的。
Caucho Quercus可以在jvm上运行PHP代码。
晚了一点,但这里。
如果你只是想在tomcat上运行真正的php,那么http://wiki.apache.org/tomcat/UsingPhp如何?;
关于在80端口上运行tomcat总是有jsvc,只是谷歌jsvc + tomcat。
有这个PHP / Java桥梁。 这基本上是通过FastCGI运行PHP。 我自己没有用过
tomcat被devise为JSP servlet容器。 Apache被devise成PHP web服务器。 使用Apache作为Web服务器,响应PHP请求,并将JSP Servlet请求指向Tomcat容器。 应该更好地执行。
如果有人还在寻找–Quercus有一场战争,可以在Apache Tomcat或glassfish中运行PHP脚本。 对于一步一步的指导看这篇文章