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