summaryrefslogtreecommitdiff
path: root/sapi/servlet/README
diff options
context:
space:
mode:
Diffstat (limited to 'sapi/servlet/README')
-rw-r--r--sapi/servlet/README52
1 files changed, 52 insertions, 0 deletions
diff --git a/sapi/servlet/README b/sapi/servlet/README
new file mode 100644
index 0000000000..de6782ecf9
--- /dev/null
+++ b/sapi/servlet/README
@@ -0,0 +1,52 @@
+What is PHP4 sapi/servlet?
+
+ PHP4 sapi/servlet builds upon the mechanism defined by ext/java to enable
+ the entire PHP processor to be run as a servlet. The primary advanatage
+ of this from a PHP perspective is that web servers which support servlets
+ typically take great care in pooling and reusing JVMs.
+
+ Notes:
+
+ 1) 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.
+
+ 2) This code clean compiles on Win32 and Linux, and is able to process
+ phpinfo() commands. Most of the code is in place, but very little
+ testing has been done on even such basic things as cookies and
+ sessions. Treat this code as early alpha at this point.
+
+ 3) Until overload resolution is addressed in php/java, much of the
+ javax.servlet interfaces can not be directly called. For example,
+ don't try to get the output stream from $response, and expect to
+ be able to use println. For now, use PHP's "echo" instead.
+
+ 4) PHP has a habit of changing the working directory. Sapi/servlet 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.
+
+Build and execution instructions:
+
+ Most of the configuration hassles associated with ext/java are associated
+ with starting the JVM, and as such do not apply to sapi/servlet. In
+ particular, no updates to php.ini are required on any operating system.
+
+ Unix:
+ Build:
+ ./configure --with-servlet --with-java
+ Execute:
+ add phpsrvlet.jar to CLASSPATH
+ add directory containing libphp4.so to LD_LIBRARY_PATH
+ merge/overwrite build/tomcat/examples/WEB-INF/web.xml from sapi/servlet
+
+ Win32:
+ Build:
+ add jdsk (or d:\build\tomcat\classes) to CLASSPATH
+ build sapi\servlet\servlet.dsp
+ Execute:
+ add phpsrvlet.jar to CLASSPATH
+ add directory containing php4ts.dll and phpsrvlt.dll to PATH
+ merge/overwrite build\tomcat\examples\WEB-INF\web.xml from sapi\servlet