Hi
Please provide your valuable comments regarding this initial ARC draft
for integrating various minor PHP enhancements within OpenSolaris.
Template Version: @(#)sac_nextcase 1.64 07/13/07 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:
17 Feb, 2009
2. Technical Details
PHP5 Feature Enhancements
Summary
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 Micro/Patch Release Binding.
2.1 Provide PHP extension specific statistics
Provide the ability to deliver statistics of 3rd party extensions like APC
and memcache usage statistics by delivering a separate SUNWphp52r-stats
package.
This package will deliver the following files
/var/php/5.2/stats/apc/apc.php
/var/php/5.2/stats/memcache/memcache.php
/etc/apache2/2.2/conf.d/phpstats.conf
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 scripts will be delivered within SUNWphp52u package under
/usr/php/5.2/samples/scripts
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
This project proposes an interface contract between OpenLDAP client
library with
PHP runtime and will now link PHP LDAP extension against OpenLDAP client
library.
2.4 Provide additional DTrace probes within PHP runtime
Deliver additional DTrace probes within PHP runtime by providing patches to
Zend engine. These additional patches will be contributed to the
upstream community.
3. Interfaces:
3.1 Interfaces removed:
NAME STABILITY NOTES
LDAP Evolving PSARC/1997/276
3.2 Interfaces added:
NAME STABILITY NOTES
OpenLDAP External/Volatile PSARC/2008/507
Apache with OpenLDAP External/Volatile
3.3 Imported Interfaces
NAME STABILITY
-----------------------------------------------------------
/var/apache2/2.2/conf.d Uncommitted
3.2. Exported Interfaces
NAME STABILITY
-----------------------------------------------------------
/var/php/5.2/stats/apc/apc.php Volatile
/var/php/5.2/stats/memcache/memcache.php Volatile
/etc/apache2/2.2/conf.d/phpstats.conf Volatile
/usr/php/5.2/samples/scripts/setup-sun-webserver.sh Volatile
dTrace probes for PHP runtime
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
error
exception-thrown
exception-catched
function-entry
function-return
The dtrace probes are labelled as "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.
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/
[4] http://www.opensolaris.org/os/community/arc/caselog/2007/600/
[5] http://www.opensolaris.org/os/community/arc/caselog/2007/608/
[6] http://www.opensolaris.org/os/community/arc/caselog/2008/538/
[7] http://www.opensolaris.org/os/community/arc/caselog/2007/586/
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