2010-04-13 32 views
0

我想用Apache的Tomcat的6.0.18我如何使用apache-tomcat-6.0.18运行单个PHP文件?

运行单一的PHP文件我的项目是与服务器端的GWT项目是Java Servlet的

我部署我的项目上服务器Apache的Tomcat的6.0.18/webapps /目录文件夹

所以,请告诉我该解决方案来运行PHP文件

+3

Tomcat设计用于运行servlet,它处理自己对HTTP请求的响应。 PHP被设计成一个预处理程序,与一个完整的Web服务器(如处理请求本身的Apache)一起运行。 – Amber 2010-04-13 08:53:59

+0

同意Dav。你在混合东西。它可以从Java内部运行PHP(如下面的文章中所解释的),但是你想远离它。无论是运行java servlets还是完全运行PHP,如http://code.google.com/p/gwtphp/中所述,如果您绝对需要GWT。但不要混用技术,这是不值得的。 – 2010-04-13 10:38:48

回答

-1

你应该把你的PHP文件在Apache安装www文件夹,然后你可以从浏览器访问该文件是这样的:

http://localhost/your_file_name.php 

localhost是大多数配置中的默认主机名。

+0

但在apache-tomcat-6.0.18安装目录中没有像www这样的文件夹 – 2010-04-13 08:52:17

+0

如何解决'httdocs'或'public_html'这样的问题,您需要搜索apache目录中的这些名称。 – Sarfraz 2010-04-13 08:53:15

+0

“Apache Tomcat”与“Apache”不同。一个是servlet主机,另一个是web服务器。 – Amber 2010-04-13 08:54:36

2

我们可以通过使用为JavaBridge ..下面的jar文件

下载做到这一点(即从JavaBridge.war提取罐)

JavaBridge.jar 
php-script.jar 
php-servlet.jar 

,并把你的项目lib文件夹。然后在web.xml中

的web.xml

<!-- the following 8 lines extend the servlet spec 2.2 "url-pattern" to handle PHP PATH_INFO: *.php/something?what=that. Remove them, if you don't need this feature. --> 
    <filter> 
     <filter-name>PhpCGIFilter</filter-name> 
     <filter-class>php.java.servlet.PhpCGIFilter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>PhpCGIFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    <!-- the following adds the JSR223 listener. Remove it if you don't want to use the JSR223 API --> 
    <listener> 
     <listener-class>php.java.servlet.ContextLoaderListener</listener-class> 
    </listener> 

    <!-- the back end for external (console, Apache/IIS-) PHP scripts; remove it if you don't need this --> 
    <servlet> 
     <servlet-name>PhpJavaServlet</servlet-name> 
     <servlet-class>php.java.servlet.PhpJavaServlet</servlet-class> 
    </servlet> 

    <!-- runs PHP scripts in this web app; remove it if you don't need this --> 
    <servlet> 
     <servlet-name>PhpCGIServlet</servlet-name> 
     <servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class> 
     <load-on-startup>0</load-on-startup> 
    </servlet> 


    <servlet-mapping> 
     <servlet-name>PhpJavaServlet</servlet-name> 
     <url-pattern>*.phpjavabridge</url-pattern> 
    </servlet-mapping> 

    <servlet-mapping> 
     <servlet-name>PhpCGIServlet</servlet-name> 
     <url-pattern>*.php</url-pattern> 
    </servlet-mapping> 

保存文件以下条目。重新启动tomcat服务器。现在PHP文件将在tomcat服务器下工作!

2

“www”的文件夹中存在不阿帕奇... 在Apache Tomcat服务器,而不是“WWW” IIS服务器,“根”文件夹中存在 复制所有需要的文件在根文件夹,并有存取权限茨艾伦文件

安装任何服务器的单个重启是强制性的后,,否则结果难以预料...... 非常感谢

0

Quercus有战争,允许在的Apache Tomcat或GlassFish的运行PHP脚本。有关分步指南,请参阅this文章