From jyri@sac.sfbay.sun.com Mon Dec  7 18:05:11 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nB825Big009765
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 7 Dec 2009 18:05:11 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nB825BVC006211;
	Mon, 7 Dec 2009 18:05:11 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KUB003019SM1B00@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 07 Dec 2009 18:05:10 -0800 (PST)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KUB00AY19SM2W60@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 07 Dec 2009 18:05:10 -0800 (PST)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4)
 with ESMTP id nB825AGX006454; Mon, 07 Dec 2009 18:05:10 -0800 (PST)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nB8259h5009760; Mon,
 07 Dec 2009 18:05:09 -0800 (PST)
Received: (from jyri@localhost)	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit)
 id nB8259VA009756; Mon, 07 Dec 2009 18:05:09 -0800 (PST)
Date: Mon, 07 Dec 2009 18:05:09 -0800 (PST)
From: Jyri Virkki <jyri@sac.sfbay.sun.com>
Subject: Include NSAPI support in PHP [LSARC/2009/667 FastTrack timeout
 12/15/2009]
To: LSARC-ext@sun.com
Cc: Sriram.Natarajan@sun.com
Message-id: <200912080205.nB8259VA009756@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 9962


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.

    This case seeks Minor Release Binding.

1.2 Previous Relevant ARC cases

    PSARC/2007/641 - Enabling built-in extensions. 
    PSARC/2007/552 - Upgrading PHP 5.2.4
    PSARC/2007/470 - Upgrading PHP 5.2.3
    PSARC/2007/168 - Integrating PHP 5.2.0
    LSARC/2008/538 - Integrating PHP 5.2.6
    LSARC/2009/124 - PHP5 Feature Enhancements
    LSARC/2009/564 - Updated PHP to deliver addnl features 


2. Technical issues

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

2.2 Support for Sun Web Server 7

    Enterprise customers have repeatedly requested for PHP support
    within Sun Web Server. This project aims to support PHP within Web
    Server both as NSAPI module (in-process) and FastCGI (out of
    process) in OpenSolaris.

    To deliver PHP NSAPI support for Sun Web Server, PHP and its
    extensions will need to be compiled with Zend Thread safety
    enabled option and integrated in addition to currently integrated
    PHP(non ZTS) runtime.

    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. Hence, the need to deliver PHP with
    ZTS enabled in addition to currently integrated PHP runtime.

    This project will deliver its runtime and configuration files
    within SUNWphp52u, SUNWphp52r, SUNWphp52u-nsapi and
    SUNWphp52r-nsapi packages.

    This project will deliver 
        a) PHP extensions with 'Zend Thread safety' compile flag enabled 
        b) PHP configuration ini files to enable / disable PHP extensions
        c) 32-bit PHP NSAPI library for Sun Web Server 7 
        d) 'configure-webserver7' (support script) to configure Web
        Server 7 with the integrated PHP NSAPI library. Users will
        need to manually run this support script to load PHP NSAPI
        library within Web Server 7 configuration.

        'configure-webserver7' script was earlier delivered under
        'samples' directory to allow some one to try out Web Server 7
        with PHP under FastCGI mode. This project will now deliver it
        under 'bin' directory to support PHP configuration (both
        FastCGI as well as NSAPI) within Sun Web Server 7. For
        backward compatibility, a symlink to this script will be
        retained under the 'samples' directory.

        This script can be invoked by providing the following
        arguments to configure PHP runtime with Sun Web Server 7.

        /usr/php/5.2/bin/configure-webserver7.sh \
           --installroot=<Web Server 7 instance location> \
           --instancename=<Web Server 7 instance name>
           --sapi=<nsapi|fastcgi>
        
        Script 'configure-webserver7'.sh will provide the following
        command line input options:

        --instanceroot   Web Server 7 instance top location
        --instancename   Web Server 7 instance name
        --sapi           Web Server 7 SAPI mode (nsapi or fastcgi)

        This Script will exit with one of these exit codes:

        0                       SUCCESS                         
        1                       FAILURE


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.

2.4 Directory Naming and Structure

    Following new directories will be created to add support for PHP
    and Sun Web Server 7

    /etc/php/5.2/nsapi/         -> to deliver PHP configuration when
                                when PHP is running within Web Server 7.

    /etc/php/5.2/zts-conf.d/    -> to deliver configuration ini files for
                                PHP extensions compiled with ZTS enabled.

    /usr/php/5.2/nsapi/         -> to deliver PHP glue module to load PHP
                                engine within Sun Web Server 7.

    /usr/php/5.2/zts-modules/   -> to deliver extensions for php compiled
                                with Zend Thread Safety enabled.

    NOTE: 'zts' stands for Zend Thread safety.

2.5 Configuration File

    /etc/php/5.2/nsapi/php.ini          -> PHP configuration for Web Server 7
    /etc/php/5.2/zts-conf.d/*.ini       -> PHP extension configuration ini
                                        for Zend Thread safety enabled 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.

    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.

    Note that package naming is all Volatile due to OpenSolaris
    package renaming which occurs outside the control of the project
    team post-integration.


3. Interfaces

3.1 Interface Stability.

    PHP, as an Open Source project, is controlled by a group of developers 
    external of, and independent from, SMI. The PHP Group makes no guarantees 
    or promises of ABI or API compatibility between PHP releases.

3.2 Imported Interfaces.

    NAME                                        STABILITY        NOTES
    -------------------------------------------------------------------------
    /usr/mysql/5.1/lib/libmysqlclient.so        Committed      LSARC/2009/062
    /usr/postgres/8.3/libpgsql.so               Uncommitted    LSARC/2008/004


3.3 Exported Interfaces.

3.3.1 Directory / Files

      NAME                                    STABILITY    NOTES
    -------------------------------------------------------------------------
    /etc/php/5.2/nsapi/php.ini                Uncommitted
    /etc/php/5.2/zts-conf.d/*.ini             Uncommitted
    /usr/php/5.2/bin/configure-webserver7     Uncommitted
    configure-webserver7.sh command line args Uncommitted  Script Arguments
    configure-webserver7.sh exit codes        Uncommitted  Script return value


3.3.3 Packages

      NAME                      STABILITY   NOTES
      ------------------------------------------------------------------------
      SUNWphp52u-nsapi          Volatile    May become SUNWphp52-nsapi
      SUNWphp52r-nsapi          Volatile    May become SUNWphp52-nsapi
      SUNWphp52u-memsession     Volatile    May become SUNWphp52-memsession
      SUNWphp52r-memsession     Volatile    May become SUNWphp52-memsession



4. References

1. PSARC/2007/641 - Enabling built-in extensions        
        http://arc.opensolaris.org/caselog/PSARC/2007/641/

2. PSARC/2007/552 - Upgrading PHP 5.2.4
        http://arc.opensolaris.org/caselog/PSARC/2007/552/

3. PSARC/2007/470 - Upgrading PHP 5.2.3
        http://arc.opensolaris.org/caselog/PSARC/2007/470/

4. PSARC/2007/168 - Integrating PHP 5.2.0
        http://arc.opensolaris.org/caselog/PSARC/2007/168/

5. LSARC/2008/538 - Integrating PHP 5.2.6
        http://arc.opensolaris.org/caselog/LSARC/2008/538/

6. LSARC/2009/124 - PHP5 Feature Enhancements
        http://arc.opensolaris.org/caselog/LSARC/2009/124/

7. LSARC/2009/564 - Updated PHP to deliver addnl features 
        http://arc.opensolaris.org/caselog/LSARC/2009/564/

8. LSARC/2009/062 - MySQL 5.1 within OpenSolaris
        http://arc.opensolaris.org/caselog/LSARC/2009/062/

9. LSARC/2008/616 - PostgreSQL within OpenSolaris
        http://arc.opensolaris.org/caselog/LSARC/2008/616/

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		sfw
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From peter.tribble@gmail.com Sun Dec 13 07:49:26 2009
Received: from sunmail6brm.central.sun.com (sunmail6brm.Central.Sun.COM [129.147.4.169])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nBDFnQ6g029413
	for <LSARC-ext@sac.sfbay.sun.com>; Sun, 13 Dec 2009 07:49:26 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail6brm.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nBDFnPIJ005581;
	Sun, 13 Dec 2009 09:49:25 -0600 (CST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KUL00201LAD6900@brm-avmta-1.central.sun.com>; Sun,
 13 Dec 2009 08:49:25 -0700 (MST)
Received: from sca-ea-mail-2.sun.com ([192.18.43.25])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KUL00AHKLADTTB0@brm-avmta-1.central.sun.com>; Sun,
 13 Dec 2009 08:49:25 -0700 (MST)
Received: from relay14i.sun.com
 (ip124.net129179-4.block1.us.syntegra.com [129.179.4.124])
	by sca-ea-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id nBDFnOrl012769;
 Sun, 13 Dec 2009 15:49:24 +0000 (GMT)
Received: from mmp14es.mmp.us.syntegra.com ([160.41.208.14] [160.41.208.14])
 by relay14i.sun.com with ESMTP id BT-MMP-5620608; Sun,
 13 Dec 2009 15:49:24 +0000 (Z)
Received: from relay13i.sun.com (relay13i.sun.com [129.179.4.123])
 by mmp14es.mmp.us.syntegra.com with ESMTP id BT-MMP-54274; Sun,
 13 Dec 2009 15:49:23 +0000 (Z)
Received: from mail-gx0-f212.google.com ([209.85.217.212] [209.85.217.212])
 by relay1i.sun.com with ESMTP id BT-MMP-39098010; Sun,
 13 Dec 2009 15:49:23 +0000 (Z)
Received: by gxk4 with SMTP id 4so4152209gxk.8 for <multiple recipients>; Sun,
 13 Dec 2009 07:49:17 -0800 (PST)
Received: by 10.101.138.25 with SMTP id q25mr5570752ann.42.1260719356937; Sun,
 13 Dec 2009 07:49:16 -0800 (PST)
Date: Sun, 13 Dec 2009 15:49:16 +0000
From: Peter Tribble <peter.tribble@gmail.com>
Subject: Re: Include NSAPI support in PHP [LSARC/2009/667 FastTrack timeout
	12/15/2009]
In-reply-to: <200912080205.nB8259VA009756@sac.sfbay.sun.com>
To: Jyri Virkki <jyri@sac.sfbay.sun.com>
Cc: LSARC-ext@sun.com, Sriram.Natarajan@sun.com
Message-id: <df1347730912130749y32eb5aag7688d39d3aff85d0@mail.gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=gmail.com;
 s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references
 :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding;
 bh=8QjZAHtgJVo/8IBfx7BXx+YxsaqbJhtXoVpZ7ynTnoQ=;
 b=mj8i7qxm+tM5b6TREPxq44Ph9avO/OWGZvzpfhgSQXYbuc3H0hFOMwQTu0RZORKxq/
 2aXmMoyJgfjxR4hARPcm7KMLpv1HThYKXAkTCCVoE7A4DX6vnRvwQXRnUt5zoAI1EhG+
 0CIrfJriAvQw3Kcxn7u7LzkSMV1acf+iKYU3A=
DomainKey-Signature: a=rsa-sha1; c=nofws;        d=gmail.com; s=gamma;
 h=mime-version:in-reply-to:references:date:message-id:subject:from:to
 :cc:content-type:content-transfer-encoding;
 b=XGJ2TeyJ0U8v3A7CyrHgpL/CF0mV9KOMYmpDU5Vw3OYKnS1yLqwlLIenOZnay7Qq/M
 owRt0lC5gcUD50vite4O2NwarRR0VkcFwibo1RcnYdW04AYnq6QLUWvzeKyZHjrum/zy
 d2hFjt5Wn8UUoaWF1xnkU2qnYhz9lsUbxalu0=
X-PMX-Version: 5.4.1.325704
X-Brightmail-Tracker: AAAAAA==
X-Antispam: No, score=-1.1/5.0, scanned in 0.693sec at (localhost [127.0.0.1])
	by smf-spamd v1.3.1 - http://smfs.sf.net/
References: <200912080205.nB8259VA009756@sac.sfbay.sun.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by sac.sfbay.sun.com id nBDFnQ6g029413
Status: RO
Content-Length: 3849

On Tue, Dec 8, 2009 at 2:05 AM, Jyri Virkki <jyri@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/


From Sriram.Natarajan@sun.com Mon Dec 14 16:31:29 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nBF0VSar013210
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 14 Dec 2009 16:31:28 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.4) with ESMTP id nBF0VSeU050140
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Mon, 14 Dec 2009 17:31:28 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KUO0030544GBA00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Mon, 14 Dec 2009 16:31:28 -0800 (PST)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KUO00B9E44FP670@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Mon,
 14 Dec 2009 16:31:27 -0800 (PST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id nBF0VRN1012807	for
 <LSARC-ext@sun.com>; Mon, 14 Dec 2009 16:31:27 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KUO00J003RZUY00@fe-sfbay-10.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Mon, 14 Dec 2009 16:31:27 -0800 (PST)
Received: from [192.18.120.213] ([unknown] [192.18.120.213])
 by fe-sfbay-10.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KUO00KWP446H110@fe-sfbay-10.sun.com>; Mon,
 14 Dec 2009 16:31:18 -0800 (PST)
Date: Mon, 14 Dec 2009 16:29:43 -0800
From: Sriram Natarajan <Sriram.Natarajan@sun.com>
Subject: Re: Include NSAPI support in PHP [LSARC/2009/667 FastTrack timeout
 12/15/2009]
In-reply-to: <df1347730912130749y32eb5aag7688d39d3aff85d0@mail.gmail.com>
Sender: Sriram.Natarajan@sun.com
To: Peter Tribble <peter.tribble@gmail.com>
Cc: Jyri Virkki <jyri@sac.sfbay.sun.com>, LSARC-ext@sun.com
Message-id: <4B26D877.2060305@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200912080205.nB8259VA009756@sac.sfbay.sun.com>
 <df1347730912130749y32eb5aag7688d39d3aff85d0@mail.gmail.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090929)
Status: RO
Content-Length: 5230

Hi
 Please find my response inline


Peter Tribble wrote:
> On Tue, Dec 8, 2009 at 2:05 AM, Jyri Virkki <jyri@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

From Jyri.Virkki@sun.com Tue Jan  5 10:11:51 2010
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id o05IBpbt013851
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 5 Jan 2010 10:11:51 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail2sca.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id o05IBpZI018270;
	Tue, 5 Jan 2010 10:11:51 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KVS00B09D7R9C00@nwk-avmta-2.sfbay.sun.com>; Tue,
 05 Jan 2010 10:11:51 -0800 (PST)
Received: from brmea-mail-4.sun.com ([192.18.98.36])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KVS001SMD7QKXA0@nwk-avmta-2.sfbay.sun.com>; Tue,
 05 Jan 2010 10:11:50 -0800 (PST)
Received: from dm-usca15-11.red.iplanet.com
 (host-185-56-18-192.iplanet.com [192.18.56.185] (may be forged))
	by brmea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id o05IBnaA010718; Tue,
 05 Jan 2010 18:11:49 +0000 (GMT)
Received: from buye.red.iplanet.com (buye [192.18.65.224])
	by dm-usca15-11.red.iplanet.com (8.11.7p1+Sun/8.11.7/IPLANET,v1.2)
 with ESMTP id o05IBtK21508; Tue, 05 Jan 2010 10:11:55 -0800 (PST)
Received: from buye.red.iplanet.com (localhost [127.0.0.1])
	by buye.red.iplanet.com (8.13.7+Sun/8.13.7) with ESMTP id o05IBn28011294; Tue,
 05 Jan 2010 10:11:49 -0800 (PST)
Received: (from jyri@localhost)
	by buye.red.iplanet.com (8.13.7+Sun/8.13.7/Submit) id o05IBnmj011293; Tue,
 05 Jan 2010 10:11:49 -0800 (PST)
Date: Tue, 05 Jan 2010 10:11:49 -0800
From: Jyri Virkki <Jyri.Virkki@sun.com>
Subject: Re: Include NSAPI support in PHP [LSARC/2009/667 FastTrack timeout
 12/15/2009]
In-reply-to: <4B26D877.2060305@Sun.COM>
To: Sriram Natarajan <Sriram.Natarajan@sun.com>
Cc: LSARC-ext@sun.com
Message-id: <20100105181149.GA11227@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.4.1.325704
References: <200912080205.nB8259VA009756@sac.sfbay.sun.com>
 <df1347730912130749y32eb5aag7688d39d3aff85d0@mail.gmail.com>
 <4B26D877.2060305@Sun.COM>
User-Agent: Mutt/1.5.11
Status: RO
Content-Length: 169


> >>Include NSAPI support in PHP
> >>3 December 2009

This case was approved at the LSARC meeting today.


-- 
Jyri J. Virkki - jyri.virkki@sun.com - Sun Microsystems


