home client api server api protocol f.a.q. downloads

Configure Tomcat 6 for PHP 5

This guide shows how to install PHP 5.x or above into Tomcat 6 or above.

Download and install Java, Tomcat and PHP

Unix/Linux

  1. Use the graphical packet installer or the command yum install php to install PHP.
  2. Download and install Java 6 or above.
  3. Download and install Tomcat.

Windows

On Windows you need to install Java, Tomcat and PHP manually:

  1. Download and install Java 6 or above.
  2. Download and install Tomcat.
  3. Download and install PHP. Select a "typical installation" and install "other cgi".
  4. Reboot your windows machine after the software installation.

Install a PHP web application into Tomcat

  1. Copy the PHP web application JavaBridgeTemplate.war to the Tomcat webapps directory.
  2. Wait two seconds until Tomcat has loaded the web application.
  3. Browse to http://127.0.0.1:8080/JavaBridgeTemplate554 and http://127.0.0.1:8080/JavaBridgeTemplate554/test.php to see the PHP info page.
  4. Congratulations, you have successfully installed a PHP web application into Tomcat.

PHP support for all existing Tomcat web applications

  1. Stop Tomcat.
  2. Move the libraries JavaBridge.jar, php-servlet.jar and php-script.jar from the webapps/JavaBridgeTemplate554/WEB-INF/lib directory over to the tomcat lib directory.
  3. Edit the Tomcat conf/web.xml. Add the following 9 lines marked with a +:

    <web-app xmlns=... >

    + <listener><listener-class>php.java.servlet.ContextLoaderListener</listener-class></listener>
    + <servlet><servlet-name>PhpJavaServlet</servlet-name><servlet-class>php.java.servlet.PhpJavaServlet</servlet-class>
    + </servlet>
    + <servlet><servlet-name>PhpCGIServlet</servlet-name><servlet-class>php.java.servlet.PhpCGIServlet</servlet-class>
    + <init-param><param-name>prefer_system_php_exec</param-name><param-value>On</param-value></init-param>
    + <init-param><param-name>php_include_java</param-name><param-value>On</param-value></init-param>
    + </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>
    ...

    </web-app>
  4. Start Tomcat again. Now you can add PHP scripts to tomcat.
  5. Add a PHP test file
    <?php echo java("java.lang.System")->getProperties(); ?>
    to some web context, for example "examples", and browse to http://yourHost.com:8080/examples/test.php.
  6. Check the process list using the Unix/Linux or Windows task manager. There should be 5 php-cgi FastCGI executables waiting for requests from Java.
  7. Please see our FAQ for more information how to set up a load balancer or how to create a distributable PHP/Java web application.