PHP5 Feature Enhancements 1. Summary This case adds an assortment of new functionality to the recently integrated PHP5 engine (2007/168[1], 2007/641[2]). This case seeks Micro/Patch Release Binding. 2. Technical Details 2.1 Xdebug[3] external extension will be bundled From the project page: "The Xdebug extension helps you debugging your script by providing a lot of valuable debug information." Xdebug is being bundled to support the PHP debugging features being delivered into Netbeans. 2.2 Memcache[4] external extension will be bundled From the project page: "Memcache module provides handy procedural and object oriented interface to memcached, highly effective caching daemon, which was especially designed to decrease database load in dynamic web applications." PHP Memcache module is being bundled to integrate with Memcached server that is being delivered within OpenSolaris. This extension will be integrated only after Memcached server has been integrated within OpenSolaris. Depending on the timeline of memcached integration, this support might be delivered as a separate integration from the rest of the features of this project. 2.2 MYSQL support MYSQL extension allows PHP5 runtime engine to connect to MYSQL database[5]. This extension, shipped with PHP5 source, will be enabled after MYSQL database is integrated within OpenSolaris. Depending on the timeline of MYSQL integration, this support might be delivered as a separate integration from the rest of the features of this project. MYSQL extension will be delivered as a separate package. SUNWphp524-mysql-root will deliver the configuration file for enabling this extension within PHP5 core. /etc/php5/5.2.4/conf.d/mysql.ini /etc/php5/5.2.4/conf.d/pdo_mysql.ini SUNWphp524-mysql will deliver the MySQL extension shared object /usr/php5/5.2.4./modules/mysql.so /usr/php5/5.2.4./modules/mysqli.so /usr/php5/5.2.4./modules/pdo_mysql.so 2.3 PostgreSQL support To reduce the number of dependencies of core PHP, PostgreSQL database extension will be delivered as a separate package as well. Currently PostgreSQL extension is delivered as part of SUNWphp524core package. SUNWphp524-pgsql-root will deliver the configuration file for enabling this extension within PHP5 core. /etc/php5/5.2.4/conf.d/pgsql.ini /etc/php5/5.2.4/conf.d/pdo_psql.ini SUNWphp524-pgsql will deliver the PostgreSQL extension shared object and its corresponding PDO support. /usr/php5/5.2.4./modules/pgsql.so /usr/php5/5.2.4./modules/pdo_pgsql.so 2.4 PEAR/PECL support will be enabled PEAR/PECL extension is bundled within PHP 5.2.4 package. This extension will be now enabled. From the PEAR project page: PEAR is short for "PHP Extension and Application Repository" and the purpose of PEAR is to provide * A structured library of open-source code for PHP users * A system for code distribution and package maintenance * A standard style for code written in PHP, specified here * The PHP Extension Community Library (PECL), see more below * A web site, mailing lists and download mirrors to support the PHP/PEAR community PEAR support allows programmers to download custom extensions written in PHP to download from either http://pear.php.net repository or from other third-party repositories. These repositories are also known as "channels". A default configuration file for PEAR will ship as /etc/php5/5.2.4/pear.conf. Users can edit this configuration file to customize the location of a) Download / Install location for these custom extensions b) External repository location (aka channels) From the PECL project page: PECL (PHP Extension Community Library) is a repository of PHP extensions that are made available to customers via the PEAR packaging system and can be installed using the PEAR installer with the 'pecl' command. PECL extension allows programmers to download custom extensions written in "C" from http://pecl.php.net and compile it into a shared object to be loaded within PHP runtime. The following binaries will be now added as part of PEAR/PECL support within our PHP5 integration /usr/php5/5.2.4/bin/pear => downloads custom extensions written in PHP from user specified channels. /usr/php5/5.2.4/bin/pecl -> download custom extension written in in "C" from user specified channels. These binaries depend on an internal repository to be available within the system to write dynamic data. The internal repository location will be kept under /var/php5/5.2.4/pear directory. The necessary files for enabling PEAR/PECL support will also be kept within '/var/php/5.2.4/pear' directory. These files are listed under the Appendix' section. PEAR/PECL support will be delivered as a separate package. SUNWphp524-pear-root will deliver the configuration and dependent files necessary for setting up an internal repository /etc/php5/5.2.4/pear.conf /var/php5/5.2.4/* (These files are listed under the 'Appendix') SUNWphp524-pear will deliver the necessary pear/pecl binaries /usr/php5/5.2.4./bin/pear /usr/php5/5.2.4./bin/pecl 2.5 Support for extension-specific INI files Currently PHP requires all extensions to be configured within a single PHP ini file (/etc/php5/5.2.4/php.ini). A new /etc/php5/5.2.4/conf.d/ directory will be added as a location for delivering per-extension configuration files. This is analogous to the Apache conf.d directory and will allow extension packages to conveniently deliver configuration without having to modify the main php.ini. Also, a default ini file will be provided for all the bundled extensions within /usr/php5/5.2.4/modules directory so that all these extensions are loaded by default. Each extension-specific default INI file will be under /etc/php5/5.2.4/conf.d/, containing: ;.ini ;Comment the below line to disable this extension extension=.so 2.6 Symbolic links to the latest version As seen in recent practice (Ruby[4], MySQL[5]), PHP will also add symbolic links into the latest version. See exported interfaces for a list of the symbolic links being introduced. 2.7 Integration with Apache To provide automatic integration with Apache, a php configuration file (php.conf) will be delivered under '/etc/apache/2.2/conf.d' directory. This file will be delivered by the SUNWapch22r-php5 package. The PHP5 module for Apache 2 web server will be now delivered by SUNWapch22m-php5 package and it will be delivered as /usr/apache2/2.2/libexec/mod_php5.so (superseding previous plan from PSARC/2007/168 to deliver /usr/php5/5.2.4/lib/libphp5.so in SUNWphp524core). 3. Additional Interfaces 3.1. Imported Interfaces NAME STABILITY ----------------------------------------------------------- memcached[9][12] Uncommitted mysql[10][5] Uncommitted 3.2. Exported Interfaces NAME STABILITY ----------------------------------------------------------- Xdebug extension Uncommitted pear extension Uncommitted pecl extension Uncommitted Memcache extension Uncommitted Mysql extension Uncommitted SUNWphp524-mysql-root Uncommitted SUNWphp524-mysql Uncommitted SUNWphp524-pgsql-root Uncommitted SUNWphp524-pgsql Uncommitted SUNWphp524-pear-root Uncommitted SUNWphp524-pear Uncommitted SUNWapch22r-php5 Uncommitted SUNWapch22m-php5 Uncommitted /usr/php5/5.2.4/bin/pear Uncommitted /usr/php5/5.2.4/bin/pecl Uncommitted /var/php5/5.2.4/pear/* Uncommitted /usr/php5/bin -> /usr/php5/5.2.4/bin Volatile /usr/php5/lib -> /usr/php5/5.2.4/lib Volatile /usr/php5/modules -> /usr/php5/5.2.4/modules Volatile /usr/php5/doc -> /usr/php5/5.2.4/doc Volatile /usr/php5/man -> /usr/php5/5.2.4/man Volatile /usr/php5/include -> /usr/php5/5.2.4/include Volatile /usr/php5/5.2.4/modules/apc.so Uncommitted /usr/php5/5.2.4/modules/bcmath.so Uncommitted /usr/php5/5.2.4/modules/bz2.so Uncommitted /usr/php5/5.2.4/modules/calendar.so Uncommitted /usr/php5/5.2.4/modules/ctype.so Uncommitted /usr/php5/5.2.4/modules/curl.so Uncommitted /usr/php5/5.2.4/modules/dba.so Uncommitted /usr/php5/5.2.4/modules/dom.so Uncommitted /usr/php5/5.2.4/modules/dtrace.so Uncommitted /usr/php5/5.2.4/modules/exif.so Uncommitted /usr/php5/5.2.4/modules/ftp.so Uncommitted /usr/php5/5.2.4/modules/gd.so Uncommitted /usr/php5/5.2.4/modules/gettext.so Uncommitted /usr/php5/5.2.4/modules/hash.so Uncommitted /usr/php5/5.2.4/modules/iconv.so Uncommitted /usr/php5/5.2.4/modules/idn.so Uncommitted /usr/php5/5.2.4/modules/json.so Uncommitted /usr/php5/5.2.4/modules/ldap.so Uncommitted /usr/php5/5.2.4/modules/mbstring.so Uncommitted /usr/php5/5.2.4/modules/memcache.so Uncommitted /usr/php5/5.2.4/modules/mysql.so Uncommitted /usr/php5/5.2.4/modules/openssl.so Uncommitted /usr/php5/5.2.4/modules/pcntl.so Uncommitted /usr/php5/5.2.4/modules/pdo.so Uncommitted /usr/php5/5.2.4/modules/pdo_pgsql.so Uncommitted /usr/php5/5.2.4/modules/pdo_sqlite.so Uncommitted /usr/php5/5.2.4/modules/pgsql.so Uncommitted /usr/php5/5.2.4/modules/posix.so Uncommitted /usr/php5/5.2.4/modules/shmop.so Uncommitted /usr/php5/5.2.4/modules/soap.so Uncommitted /usr/php5/5.2.4/modules/sockets.so Uncommitted /usr/php5/5.2.4/modules/sqlite.so Uncommitted /usr/php5/5.2.4/modules/suhosin.so Uncommitted /usr/php5/5.2.4/modules/sysvmsg.so Uncommitted /usr/php5/5.2.4/modules/sysvsem.so Uncommitted /usr/php5/5.2.4/modules/sysvshm.so Uncommitted /usr/php5/5.2.4/modules/tcpwrap.so Uncommitted /usr/php5/5.2.4/modules/tidy.so Uncommitted /usr/php5/5.2.4/modules/tokenizer.so Uncommitted /usr/php5/5.2.4/modules/xmlreader.so Uncommitted /usr/php5/5.2.4/modules/xmlrpc.so Uncommitted /usr/php5/5.2.4/modules/xmlwriter.so Uncommitted /usr/php5/5.2.4/modules/xsl.so Uncommitted /usr/php5/5.2.4/modules/zip.so Uncommitted /usr/php5/5.2.4/modules/zlib.so Uncommitted /usr/apache2/2.2/libexec/mod_php5.so Uncommitted /etc/apache2/2.2/conf.d/php.conf Uncommitted /etc/php5/5.2.4/pear.conf Uncommitted /etc/php5/5.2.4/conf.d/apc.ini Uncommitted /etc/php5/5.2.4/conf.d/bcmath.ini Uncommitted /etc/php5/5.2.4/conf.d/bz2.ini Uncommitted /etc/php5/5.2.4/conf.d/calendar.ini Uncommitted /etc/php5/5.2.4/conf.d/ctype.ini Uncommitted /etc/php5/5.2.4/conf.d/curl.ini Uncommitted /etc/php5/5.2.4/conf.d/dba.ini Uncommitted /etc/php5/5.2.4/conf.d/dom.ini Uncommitted /etc/php5/5.2.4/conf.d/dtrace.ini Uncommitted /etc/php5/5.2.4/conf.d/exif.ini Uncommitted /etc/php5/5.2.4/conf.d/ftp.ini Uncommitted /etc/php5/5.2.4/conf.d/gd.ini Uncommitted /etc/php5/5.2.4/conf.d/gettext.ini Uncommitted /etc/php5/5.2.4/conf.d/hash.ini Uncommitted /etc/php5/5.2.4/conf.d/iconv.ini Uncommitted /etc/php5/5.2.4/conf.d/idn.ini Uncommitted /etc/php5/5.2.4/conf.d/json.ini Uncommitted /etc/php5/5.2.4/conf.d/ldap.ini Uncommitted /etc/php5/5.2.4/conf.d/mbstring.ini Uncommitted /etc/php5/5.2.4/conf.d/memcache.ini Uncommitted /etc/php5/5.2.4/conf.d/mysql.ini Uncommitted /etc/php5/5.2.4/conf.d/openssl.ini Uncommitted /etc/php5/5.2.4/conf.d/pcntl.ini Uncommitted /etc/php5/5.2.4/conf.d/pdo.ini Uncommitted /etc/php5/5.2.4/conf.d/pdo_pgsql.ini Uncommitted /etc/php5/5.2.4/conf.d/pdo_sqlite.ini Uncommitted /etc/php5/5.2.4/conf.d/pgsql.ini Uncommitted /etc/php5/5.2.4/conf.d/posix.ini Uncommitted /etc/php5/5.2.4/conf.d/shmop.ini Uncommitted /etc/php5/5.2.4/conf.d/soap.ini Uncommitted /etc/php5/5.2.4/conf.d/sockets.ini Uncommitted /etc/php5/5.2.4/conf.d/sqlite.ini Uncommitted /etc/php5/5.2.4/conf.d/suhosin.ini Uncommitted /etc/php5/5.2.4/conf.d/sysvmsg.ini Uncommitted /etc/php5/5.2.4/conf.d/sysvsem.ini Uncommitted /etc/php5/5.2.4/conf.d/sysvshm.ini Uncommitted /etc/php5/5.2.4/conf.d/tcpwrap.ini Uncommitted /etc/php5/5.2.4/conf.d/tidy.ini Uncommitted /etc/php5/5.2.4/conf.d/tokenizer.ini Uncommitted /etc/php5/5.2.4/conf.d/xmlreader.ini Uncommitted /etc/php5/5.2.4/conf.d/xmlrpc.ini Uncommitted /etc/php5/5.2.4/conf.d/xmlwriter.ini Uncommitted /etc/php5/5.2.4/conf.d/xsl.ini Uncommitted /etc/php5/5.2.4/conf.d/zip.ini Uncommitted /etc/php5/5.2.4/conf.d/zlib.ini Uncommitted 4. 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://pecl.php.net/package/Xdebug [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.php.net/ [7] http://pecl.php.net/ [8] http://pear.php.net [9] http://www.danga.com/memcached/ [10] http://pecl.php.net/package/memcache [11] http://www.mysql.com [12] http://sac.sfbay/LSARC/2007/385/ ========================================================================== Appendix A: Output of 'find /var/php5/5.2.4/pear/' NAME /var/php5 /var/php5/5.2.4 /var/php5/5.2.4/pear /var/php5/5.2.4/pear/Archive /var/php5/5.2.4/pear/Archive/Tar.php /var/php5/5.2.4/pear/Console /var/php5/5.2.4/pear/Console/Getopt.php /var/php5/5.2.4/pear/OS /var/php5/5.2.4/pear/OS/Guess.php /var/php5/5.2.4/pear/PEAR /var/php5/5.2.4/pear/PEAR/Exception.php /var/php5/5.2.4/pear/PEAR/Frontend /var/php5/5.2.4/pear/PEAR/Frontend/CLI.php /var/php5/5.2.4/pear/PEAR/Autoloader.php /var/php5/5.2.4/pear/PEAR/PackageFile /var/php5/5.2.4/pear/PEAR/PackageFile/Parser /var/php5/5.2.4/pear/PEAR/PackageFile/Parser/v2.php /var/php5/5.2.4/pear/PEAR/PackageFile/Parser/v1.php /var/php5/5.2.4/pear/PEAR/PackageFile/v2.php /var/php5/5.2.4/pear/PEAR/PackageFile/Generator /var/php5/5.2.4/pear/PEAR/PackageFile/Generator/v1.php /var/php5/5.2.4/pear/PEAR/PackageFile/Generator/v2.php /var/php5/5.2.4/pear/PEAR/PackageFile/v1.php /var/php5/5.2.4/pear/PEAR/PackageFile/v2 /var/php5/5.2.4/pear/PEAR/PackageFile/v2/Validator.php /var/php5/5.2.4/pear/PEAR/PackageFile/v2/rw.php /var/php5/5.2.4/pear/PEAR/ChannelFile /var/php5/5.2.4/pear/PEAR/ChannelFile/Parser.php /var/php5/5.2.4/pear/PEAR/REST.php /var/php5/5.2.4/pear/PEAR/XMLParser.php /var/php5/5.2.4/pear/PEAR/Validate.php /var/php5/5.2.4/pear/PEAR/PackageFile.php /var/php5/5.2.4/pear/PEAR/Task /var/php5/5.2.4/pear/PEAR/Task/Windowseol.php /var/php5/5.2.4/pear/PEAR/Task/Windowseol /var/php5/5.2.4/pear/PEAR/Task/Windowseol/rw.php /var/php5/5.2.4/pear/PEAR/Task/Common.php /var/php5/5.2.4/pear/PEAR/Task/Replace /var/php5/5.2.4/pear/PEAR/Task/Replace/rw.php /var/php5/5.2.4/pear/PEAR/Task/Unixeol.php /var/php5/5.2.4/pear/PEAR/Task/Replace.php /var/php5/5.2.4/pear/PEAR/Task/Postinstallscript /var/php5/5.2.4/pear/PEAR/Task/Postinstallscript/rw.php /var/php5/5.2.4/pear/PEAR/Task/Unixeol /var/php5/5.2.4/pear/PEAR/Task/Unixeol/rw.php /var/php5/5.2.4/pear/PEAR/Task/Postinstallscript.php /var/php5/5.2.4/pear/PEAR/Installer.php /var/php5/5.2.4/pear/PEAR/Config.php /var/php5/5.2.4/pear/PEAR/Command.php /var/php5/5.2.4/pear/PEAR/DependencyDB.php /var/php5/5.2.4/pear/PEAR/Downloader /var/php5/5.2.4/pear/PEAR/Downloader/Package.php /var/php5/5.2.4/pear/PEAR/Remote.php /var/php5/5.2.4/pear/PEAR/RunTest.php /var/php5/5.2.4/pear/PEAR/Common.php /var/php5/5.2.4/pear/PEAR/ErrorStack.php /var/php5/5.2.4/pear/PEAR/Builder.php /var/php5/5.2.4/pear/PEAR/Installer /var/php5/5.2.4/pear/PEAR/Installer/Role.php /var/php5/5.2.4/pear/PEAR/Installer/Role /var/php5/5.2.4/pear/PEAR/Installer/Role/Src.php /var/php5/5.2.4/pear/PEAR/Installer/Role/Common.php /var/php5/5.2.4/pear/PEAR/Installer/Role/Src.xml /var/php5/5.2.4/pear/PEAR/Installer/Role/Ext.php /var/php5/5.2.4/pear/PEAR/Installer/Role/Ext.xml /var/php5/5.2.4/pear/PEAR/Installer/Role/Doc.xml /var/php5/5.2.4/pear/PEAR/Installer/Role/Doc.php /var/php5/5.2.4/pear/PEAR/Installer/Role/Test.xml /var/php5/5.2.4/pear/PEAR/Installer/Role/Test.php /var/php5/5.2.4/pear/PEAR/Installer/Role/Php.php /var/php5/5.2.4/pear/PEAR/Installer/Role/Php.xml /var/php5/5.2.4/pear/PEAR/Installer/Role/Data.xml /var/php5/5.2.4/pear/PEAR/Installer/Role/Data.php /var/php5/5.2.4/pear/PEAR/Installer/Role/Script.xml /var/php5/5.2.4/pear/PEAR/Installer/Role/Script.php /var/php5/5.2.4/pear/PEAR/Registry.php /var/php5/5.2.4/pear/PEAR/Frontend.php /var/php5/5.2.4/pear/PEAR/Dependency.php /var/php5/5.2.4/pear/PEAR/Command /var/php5/5.2.4/pear/PEAR/Command/Auth.xml /var/php5/5.2.4/pear/PEAR/Command/Test.php /var/php5/5.2.4/pear/PEAR/Command/Test.xml /var/php5/5.2.4/pear/PEAR/Command/Auth.php /var/php5/5.2.4/pear/PEAR/Command/Pickle.php /var/php5/5.2.4/pear/PEAR/Command/Pickle.xml /var/php5/5.2.4/pear/PEAR/Command/Channels.xml /var/php5/5.2.4/pear/PEAR/Command/Common.php /var/php5/5.2.4/pear/PEAR/Command/Package.xml /var/php5/5.2.4/pear/PEAR/Command/Build.xml /var/php5/5.2.4/pear/PEAR/Command/Build.php /var/php5/5.2.4/pear/PEAR/Command/Package.php /var/php5/5.2.4/pear/PEAR/Command/Channels.php /var/php5/5.2.4/pear/PEAR/Command/Mirror.php /var/php5/5.2.4/pear/PEAR/Command/Mirror.xml /var/php5/5.2.4/pear/PEAR/Command/Registry.xml /var/php5/5.2.4/pear/PEAR/Command/Remote.php /var/php5/5.2.4/pear/PEAR/Command/Remote.xml /var/php5/5.2.4/pear/PEAR/Command/Registry.php /var/php5/5.2.4/pear/PEAR/Command/Install.xml /var/php5/5.2.4/pear/PEAR/Command/Install.php /var/php5/5.2.4/pear/PEAR/Command/Config.php /var/php5/5.2.4/pear/PEAR/Command/Config.xml /var/php5/5.2.4/pear/PEAR/REST /var/php5/5.2.4/pear/PEAR/REST/11.php /var/php5/5.2.4/pear/PEAR/REST/10.php /var/php5/5.2.4/pear/PEAR/REST/13.php /var/php5/5.2.4/pear/PEAR/Downloader.php /var/php5/5.2.4/pear/PEAR/Packager.php /var/php5/5.2.4/pear/PEAR/ChannelFile.php /var/php5/5.2.4/pear/PEAR/Validator /var/php5/5.2.4/pear/PEAR/Validator/PECL.php /var/php5/5.2.4/pear/PEAR/Dependency2.php /var/php5/5.2.4/pear/PEAR.php /var/php5/5.2.4/pear/Structures /var/php5/5.2.4/pear/Structures/Graph.php /var/php5/5.2.4/pear/Structures/Graph /var/php5/5.2.4/pear/Structures/Graph/Manipulator /var/php5/5.2.4/pear/Structures/Graph/Manipulator/AcyclicTest.php /var/php5/5.2.4/pear/Structures/Graph/Manipulator/TopologicalSorter.php /var/php5/5.2.4/pear/Structures/Graph/Node.php /var/php5/5.2.4/pear/System.php /var/php5/5.2.4/pear/data /var/php5/5.2.4/pear/data/PEAR /var/php5/5.2.4/pear/data/PEAR/template.spec /var/php5/5.2.4/pear/data/PEAR/package.dtd /var/php5/5.2.4/pear/data/Structures_Graph /var/php5/5.2.4/pear/data/Structures_Graph/package.sh /var/php5/5.2.4/pear/data/Structures_Graph/genpackage.xml.pl /var/php5/5.2.4/pear/data/Structures_Graph/LICENSE /var/php5/5.2.4/pear/data/Structures_Graph/publish.sh /var/php5/5.2.4/pear/doc /var/php5/5.2.4/pear/doc/PEAR /var/php5/5.2.4/pear/doc/PEAR/INSTALL /var/php5/5.2.4/pear/doc/PEAR/README /var/php5/5.2.4/pear/doc/Archive_Tar /var/php5/5.2.4/pear/doc/Archive_Tar/docs /var/php5/5.2.4/pear/doc/Archive_Tar/docs/Archive_Tar.txt /var/php5/5.2.4/pear/doc/Structures_Graph /var/php5/5.2.4/pear/doc/Structures_Graph/docs /var/php5/5.2.4/pear/doc/Structures_Graph/docs/tutorials /var/php5/5.2.4/pear/doc/Structures_Graph/docs/tutorials/Structures_Graph /var/php5/5.2.4/pear/doc/Structures_Graph/docs/tutorials/Structures_Graph/Structures_Graph.pkg /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/elementindex_Structures_Graph.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/li_Structures_Graph.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/classtrees_Structures_Graph.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/packages.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/errors.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Node_php.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Node.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/tutorial_Structures_Graph.pkg.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_php.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/media /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/media/banner.css /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/media/stylesheet.css /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/elementindex.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/todolist.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/html/index.html /var/php5/5.2.4/pear/doc/Structures_Graph/docs/generate.sh /var/php5/5.2.4/pear/pearcmd.php /var/php5/5.2.4/pear/peclcmd.php /var/php5/5.2.4/pear/test /var/php5/5.2.4/pear/test/Structures_Graph /var/php5/5.2.4/pear/test/Structures_Graph/tests /var/php5/5.2.4/pear/test/Structures_Graph/tests/all-tests.php /var/php5/5.2.4/pear/test/Structures_Graph/tests/testCase /var/php5/5.2.4/pear/test/Structures_Graph/tests/testCase/BasicGraph.php /var/php5/5.2.4/pear/test/Structures_Graph/tests/README