summaryrefslogtreecommitdiff
path: root/sapi/servlet/README
blob: 1a931863538f3a937d42f0fd7b6555832b3a216d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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) 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 phpsrvlt.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 phpsrvlt.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