I am sponsoring this case for Sriram Natarajan. It defines a handful of enhancements to PHP. I'll make the contract between this case and PSARC/2008/507 available soon.
Template Version: @(#)sac_nextcase %I% %G% SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: PHP5 Feature Enhancements 1.2. Name of Document Author/Supplier: Author: Sriram Natarajan 1.3 Date of This Document: 21 February, 2009 4. Technical Description PHP5 Feature Enhancements This case adds an assortment of new functionality to the recently integrated PHP5 engine (2007/168[1], 2007/641[2], 2008/538[3]). This case seeks Minor patch binding. 2.1 Provide PHP extension specific statistics Provide the ability to deliver statistics of 3rd party extensions like APC and memcache usage statistics. This feature is currently provided by these extensions itself. This project intends to bundle the scripts provided by PHP extensions along with a glue Apache HTTP configuration file within the apache samples configuration directory. This project will deliver the following files /usr/php/5.2/samples/apc/apc.php /var/php/5.2/samples/memcache/memcache.php /etc/apache2/2.2/samples-conf.d/php-apc-stats.conf /etc/apache2/2.2/samples-conf.d/php-memcache-stats.conf These files will be delivered within current SUNWphp52u and SUNWapch22r-php52 packages. 2.2 Provide sample script(s) to help configure PHP runtime with other web server(s) Deliver a sample script within current PHP package to help configure PHP runtime with other web server(s) like Sun Java System Web Server. These sample scripts will be delivered within SUNWphp52u package under /usr/php/5.2/samples/scripts The sample script(configure-sun-webserver.sh) will generate necessary configuration(s) within Sun Web Server 7 configuration files so that PHP runtime can work with Sun Web Server 7. This script can be invoked by providing with the following arguments to hook up PHP runtime with Sun Web Server 7. /usr/php/5.2/samples/scripts/configure-sun-webserver.sh \ --installroot=<Web Server 7 instance location> \ --instancename=<Web Server 7 instance name> Script 'configure-sun-webserver7'.sh will provide the following command line input options: --instanceroot Web Server 7 instance top location --instancename Web Server 7 instance name Script 'configure-sun-webserver7.sh' will exit with one of these exit codes: 0 SUCCESS 1 FAILURE 2.3 Integrate PHP runtime with OpenLDAP libraries. This project will switch the LDAP client library internally used by PHP LDAP extension from native Solaris LDAP to OpenLDAP client library. PHP LDAP extension is currently linked against Solaris LDAP client library for providing necessary implementation to connect to a LDAP server. However, Sun LDAP client library does not allow connecting to secure LDAP server(ldaps) in one of the following ways as expected by PHP LDAP extension: * as an environment variable set by administrator within PHP application * ldaps URL passed to PHP's ldap_connect() API Note: Because PHP can be run inside the Apache HTTP Server (Apache) process via mod_php, this change must be implemented in conjunction with: LSARC/2009/123 Apache and APR-Util Using OpenLDAP and must conform to restrictions discussed in section: "Special library issues" of LSARC/2009/123 to prevent the loading of multiple libraries which implement the same symbols into the same process. 2.4 Provide additional DTrace probes within PHP runtime Current DTrace probe, delivered as a PHP extension, provides information on very limited set of information like function entry, exit point. This project provides additional DTrace probes within PHP runtime by providing patches to Zend(PHP) engine. These additional patches will be contributed to the upstream community. The dtrace probes are Volatile for now because they are (a) not finalized and (b) not in the PHP source tree yet. They are stable and working but are not part of standard release. We are using a patch into the 5.2 source code. The dtrace documentation is a work-in-progress now and should be made available when the bits are officially released. 3. Interfaces: 3.1 Imported Interfaces Imported Interfaces removed (no longer being imported): NAME STABILITY NOTES ------------------------------------------------------------------ LDAP Evolving PSARC/1997/276 Imported Interfaces added: NAME STABILITY NOTES ------------------------------------------------------------------ OpenLDAP Volatile PSARC/2008/507 server.xml Evolving WSARC/2004/076 obj.conf Evolving WSARC/2004/076 <VS>-obj.conf Evolving WSARC/2004/076 mime.types Evolving WSARC/2004/076 <VS>-mime.types Evolving WSARC/2004/076 A contract for consuming the Volatile OpenLDAP interfaces from PSARC/2008/507 will signed as part of this case proceedings. 3.2. Exported Interfaces NAME STABILITY -------------------------------------------------------------------- /usr/php/5.2/samples/apc/apc.php Volatile /usr/php/5.2/samples/memcache/memcache.php Volatile /usr/php/5.2/samples/scripts/configure-sun-webserver7.sh Uncommitted configure-sun-webserver7.sh command line arguments Uncommitted configure-sun-webserver7.sh exit codes Uncommitted /etc/apache2/2.2/samples-conf.d/php-apc-stats.conf Volatile /etc/apache2/2.2/samples-conf.d/php-memcache-stats.conf Volatile dTrace probes for PHP runtime Volatile error-received request-startup request-shutdown module-startup module-shutdown module-init-entry module-init-return zend-module-init-entry zend-module-init-return execute-entry execute-return execute-internal-entry execute-internal-return compile-file-entry compile-file-return compile-string-entry compile-string-return exception-thrown exception-catched object-create object-destroy 4. Dependencies: OpenLDAP 2.4.x in package SUNWopenldap (/usr/include/openldap/*.h, libldap_r-2.4.so, liblber-2.4.so) 5. References [1] http://www.opensolaris.org/os/community/arc/caselog/2007/168/ [2] http://www.opensolaris.org/os/community/arc/caselog/2007/641/ [3] http://www.opensolaris.org/os/community/arc/caselog/2008/538/ 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