On Tue, Dec 8, 2009 at 2:05 AM, Jyri Virkki <jyri at sac.sfbay.sun.com> wrote: > > I am sponsoring this case for Sriram Natarajan. Enables the NSAPI > functionality in PHP. Timeout set to 12/15/2009. > > > Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI > This information is Copyright 2009 Sun Microsystems > 1. Introduction > ? ?1.1. Project/Component Working Name: > ? ? ? ? Include NSAPI support in PHP > ? ?1.2. Name of Document Author/Supplier: > ? ? ? ? Author: ?Sriram Natarajan > ? ?1.3 ?Date of This Document: > ? ? ? ?07 December, 2009 > 4. Technical Description > > Include NSAPI support in PHP > 3 December 2009 > > 1. ? Summary and motivation > > 1.1. Introduction > > ? ?The PHP distribution contains support for building an NSAPI plugin > ? ?form of PHP. NSAPI is the API used for plugins by Sun's Web Server > ? ?product. Until now the NSAPI support of PHP has remained disabled > ? ?in OpenSolaris. This project enables compiling this functionality. > > ? ?Specifically this project will deliver following new features: > > ? ?a) Compile and integrate PHP with Zend Thread Safety(ZTS) enabled > ? ? ? ?along with current PHP integration. PHP with ZTS enabled introduces > ? ? ? ?considerable overhead and will be advantageous only within > ? ? ? ?multi-threaded web servers like Apache worker MPM and Sun Web Server. > > ? ?b) Compile PHP with bundled NSAPI extension module to deliver 32-bit > ? ? ? ?PHP NSAPI plugin. This provides necessary glue to load PHP within > ? ? ? ?Web Server 7. > > ? ?c) Deliver 'memsession' PECL extension for PHP NSAPI plugin module. ... > 2.1. Key objects > > ? ?/etc/php/5.2/nsapi/php.ini > ? ?/etc/php/5.2/zts-conf.d/<php bundled config> > ? ?/usr/php/5.2/bin/configure-webserver7 > ? ?/usr/php/5.2/zts-modules/<php bundled extensions> > ? ?/usr/php/5.2/nsapi/libphp5.so
Just to clarify - after this case integrates, the existing (non-ZTS) libphp5.so will continue to be shipped unchanged? > 2.3 PECL "memsession" extension > > ? ?This extension can store PHP sessions in-memory. This feature is > ? ?ideal when PHP is loaded within multi-threaded web server like Sun > ? ?Web Server 7. > > ? ?This extension is critical to deliver better performance with PHP and > ? ?Sun Web Server 7. > > ? ?This extension is currently available as open source under PECL > ? ?repository and development will continue to happen there. > > ? ?This project will compile and deliver this project within > ? ?/usr/php/5.2/zts-modules to allow PHP compiled with Zend Thread > ? ?safety(ZTS) enabled to load this extension. > > ? ?This extension will be integrated as part of SUNWphp52u-memsession > ? ?package. So this extension is only available for the ZTS module? (And isn't available for the non-ZTS php?) > 2.6 Packaging and Delivery > > ? ?PHP ZTS enabled runtime and configuration files will delivered > ? ?within SUNWphp52u and SUNWphp52r respectively. Similarly, ZTS > ? ?enabled PHP extension for MySQL and PostgreSQL will be delivered > ? ?within SUNWphp52u-mysql and SUNWphp52u-pgsql packages > ? ?respectively. How big is the ZTS additions? Does this double the size of the php installation? > ? ?PHP NSAPI glue module and its associated configuration to load PHP > ? ?engine within Sun Web Server 7 will be delivered as part of > ? ?SUNWphp52u-nsapi and SUNWphp52r-nsapi respectively. > > ? ?PHP Memsession extension for PHP ZTS enabled PHP runtime will be > ? ?delivered within SUNWphp52u-memsession package. Why is memsession split out into a separate package? As a general comment, this case introduces functionality for 3 things: ZTS, nsapi, and sun-webserver-7. It's not clear to me from the case how these three aspects interact, and whether some of them may (or may not be) useful in other contexts. -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/