Hi
 Please find my response inline

Peter Tribble wrote:
> 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?
>
>   
yes.
>> 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?)
>
>   
yes. It will not make much sense to deliver this extension for non-ZTS 
PHP. non-ZTS PHP is used with Apache in pre-fork model and here this 
extension will not be used. For this configuration, using memcache 
extension (which is already integrated) within OpenSolaris will be the 
appropriate way to store session informations.
>> 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?
>   
Not really. ZTS PHP NSAPI library and its extension brings in about an 
additional of 8-9 Mb.
>   
>>    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?
>
>   
PHP currently follows the convention of bundling all the "bundled" 
(extensions that are offered within PHP tar ball) within base php 
package and all 3rd party packages (available under PECL repository) as 
a separate package. Accordingly, this extension is offered as a 
"separate" (and also optional) 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.
>
>   
This project does not directly offer sun-webserver7. 

a) This project offers PHP NSAPI extension (also called "SAPI") . This 
extension is part of PHP base bundle and is  necessary to work with Sun 
Web Server . This project compiles this NSAPI plugin and its dependent 
extensions and delivers them along with base php package.

b) This project also delivers a 'configure script' to get this PHP NSAPI 
extension loaded within Sun Web Server.

Hope this clarifies.

- Sriram

Reply via email to