Greetings PHP project, I have created a patch for the Servlet SAPI package to improve the stability of the JVM runtime environment when making calls from Java to PHP. This patch is for the 4.3.x branch. Many bugs have been reported regarding various issues with this experimental module (ref. #17020 as an example).
I believe this patch will correct several of the bugs that have been reported on the Servlet SAPI module. Please review and advise if you have any questions or concerns. It would be great to see these changes make it into an upcoming 4.3.x bugfix release. Here is a link to the patch: http://www.tachometry.com/support/patches/php_4.3/sapi_servlet_patch.txt I have also included a brief description of the fix and the steps we used to successfully deploy and test the modified Servlet SAPI module. We are using this build to integrate PHP with JSP/Struts inside the Tomcat container (4.1.29) for one of our current development projects, with good results. Regards, Tom Evans Tachometry ________________________________ Open Source that means business. http://www.tachometry.com/ - - - - - - - - [from http://www.tachometry.com/support/patches/php_4.3/sapi_servlet_notes.txt] Build Notes ----------- This folder contains patched sources required to build The Servlet SAPI module for PHP 4.3.6. The changes are to correct several instability problems when the PHP engine is embedded within a JVM container. Note that the Servlet SAPI module is EXPERIMENTAL and is subject to name changes and other significant refactoring. It has been moved to the pecl/servlet/ directory as of PHP 5.0. The patch adds a SAPI callback to register a subset of server variables (e.g. PHP_SELF, REQUEST_URI, etc.) that are readily available in the current module. In addition, the exception handling has been improved to return a proper 404 response to the servlet container if a PHP resource is not found. Finally, a line of code was removed that was causing the SAPI module to shutdown prematurely under certain conditions. This patch was built from PHP sources (branch PHP_4_3) on May 24, 2004 by Tom Evans of Tachometry Corporation. Released under the terms of the PHP License, version 3.0 (http://www.php.net/license/3_0.txt). Source files: ------------- sapi/servlet/servlet.c sapi/servlet/servlet.java Binaries (Linux): ----------------- libs/libphp4.so (copied to $JAVA_HOME/jre/lib/i386/ directory) libs/phpsrvlt.jar (copied to $TOMCAT_HOME/common/lib/ directory) Build arguments: ---------------- export CFLAGS=-g3 export CLASSPATH=$TOMCAT_HOME/common/lib/servlet.jar ./configure --with-java --with-servlet --enable-debug make make test ===================================================================== TEST RESULT SUMMARY --------------------------------------------------------------------- Exts skipped : 78 Exts tested : 9 --------------------------------------------------------------------- Number of tests : 592 Tests skipped : 269 (45.4%) Tests warned : 0 ( 0.0%) Tests failed : 0 ( 0.0%) Tests passed : 323 (54.6%) --------------------------------------------------------------------- Time taken : 207 seconds ===================================================================== -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php