php-src/sapi/servlet
Sam Ruby e6c203832e First step to restoring the ability to build Java support on Unix:
1) Restore the ability to build CGI as a shared library
2) Correct make dependency rule so that the jar files are included
3) Search for jar executable, and use it, if found

Left TODO: actually build the shared libraries
2000-01-19 14:45:26 +00:00
..
config.m4 Integration of -ng changes. Changes: 1999-12-30 02:59:53 +00:00
Makefile.in First step to restoring the ability to build Java support on Unix: 2000-01-19 14:45:26 +00:00
README Initial alpha-level of sapi/servlet. See README for details. 1999-11-29 15:36:25 +00:00
servlet.c - Added flush() support to SAPI 2000-01-13 17:37:25 +00:00
servlet.dsp libzend -> Zend 1999-12-19 21:02:54 +00:00
servlet.java Happy Y2K patch! Happy new year (or the new millennium, depending on whether 2000-01-01 01:32:05 +00:00
web.xml Initial alpha-level of sapi/servlet. See README for details. 1999-11-29 15:36:25 +00:00

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