php-src/sapi/servlet/README

114 lines
3.9 KiB
Plaintext

Java Servlet SAPI Module for PHP 4
Introduction
The Java Servlet SAPI Module allows for the execution of PHP 4 as
a Servlet from within a Java Servlet Engine, such as Apache's
Jakarta Tomcat [1]. It builds upon the mechanism defined by PHP's
Java Extension, which can be found in /php4/ext/java.
The primary advantage of this from a PHP perspective is that web
servers which support servlets typically take great care in
pooling and reusing Java Virtual Machines (JVMs).
PHP may also be bridged with the Apache Cocoon XML Publishing
Framework. [2]
A suitably configured system will invoke the PHP binaries through
JNI and the output of the page will be processed through the
configured XML parser and placed into the pipeline for processing
by such filters as XSLT. This enables PHP developers to access the
powers of Cocoon to separate their content, style, and logic
without requiring them to write a single line of Java code.
While this code is intended to be able to run on any servlet
engine, it has only been tested on Apache's Jakarta Tomcat to
date. Bug reports, success stories and/or patches required to get
this code to run on other engines would be appreciated; please
send them to the PHP Development Mailinglist [3].
Note: PHP has a habit of changing the working directory. The Java
Servlet SAPI Module will eventually change it back, but while PHP
is running the servlet engine may not be able to load any classes
from the CLASSPATH which are specified using a relative directory
syntax, or find the work directory used for administration and JSP
compilation tasks.
Installing PHP as a Servlet into Apache's Jakarta Tomcat [*]
1.) Build the PHP 4 Java Servlet SAPI Module
The javax.servlet package should be in your CLASSPATH. If you're
using Tomcat, adding servlet.jar to your CLASSPATH is sufficient.
UNIX
o ./configure --with-servlet --with-java
o Add directory containing libphp4.so to LD_LIBRARY_PATH.
Windows
o Build ext/java/java.dsp, copy php_java.dll to your
extension_dir directory and enable the extension in the
php.ini.
o Build sapi/servlet/servlet.dsp.
o Add the directory containing php4ts.dll and phpsrvlt.dll to
the PATH environment variable.
2.) Copy phpsrvlt.jar into your $TOMCAT_HOME/shared/lib directory.
3.) Merge the configuration directives from web.xml file that
comes with the Java Servlet SAPI Module into your
$TOMCAT_HOME/conf/web.xml configuration file.
Make sure that the element ordering of the web.xml is legal
with Tomcat and put all the <servlet> declarations first,
followed by all the <servlet-mapping> declarations.
Add
<welcome-file>index.php</welcome-file>
to the
<welcome-file-list>
...
</welcome-file-list>
block of your $TOMCAT_HOME/conf/web.xml configuration file.
4.) Test your installation by creating a test.php file in your
$TOMCAT_HOME/webapps/ROOT directory with
<?php phpinfo(); ?>
in it.
Access this file in your browser at
http://localhost:8080/test.php
and you should see the familiar output of phpinfo().
Installing PHP as a Generator into Apache's Cocoon2 Framework
1.) Build the Java Servlet SAPI Module as described above.
2.) Get the Cocoon2 source tree, either by CVS or from a release
archive; a binary distribution does not suffice. Copy the
phpsrvlet.jar file into your xml-cocoon2/lib/optional directory
and build Cocoon.
--
[*] The instructions herein have been tested with Tomcat 4.1.12.
[1] http://jakarta.apache.org/tomcat/
[2] http://xml.apache.org/cocoon2/
[3] http://www.php.net/support.php