Special thanks to Davey Safik, without who this adventure won't became a reality.
Thanks also to Christian Weiske, without who and his bug report, API 1.9.0 won't certainly born.
With API 1.8.0, there is a limitation in class (internal, and end-user defined) detection. This limitation is also valuable for lot of constants and PHP extensions.
As always, my goal was to keep a backward compatibility with previous versions, and add a simple way to support easily the ton of possible PHP extensions with their constants and classes implementation.
I thought since a long time to rewrite the full package in PHP5 with help of Reflection API, but I've not yet reached the limitation of PHP4 code.
getVersion()getClasses()getFunctions()getExtensions()getConstants()getTokens()getConditions()getIgnoredFiles()getIgnoredFunctions()getIgnoredExtensions()getIgnoredConstants()As I can't imagine to provide all possible extensions support, I've added a basic list by default (see CompatInfo/func_array.php file), and let ability to :
pciconf CLI script.
The pciconf CLI script, presented here, is for PHP5 users only.
PHP_CompatInfo Extensions Support List build system
Usage: pciconf [options]
-e --enable (optional)value A comma separated list of extensions you want
only ()
-d --disable (optional)value A comma separated list of extensions you want
to disable ()
-s --sapi (optional)value A comma separated list of SAPI you want only
(apache2handler,cgi,cli)
-x --exceptions (optional)value File that provides exceptions results
(exceptions.conf.php)
-o --output (optional)value Target directory where to write results
(@php_dir@/PHP/CompatInfo)
-v --verbose (optional)value Set the verbose level (1)
-V --version Print version information
-h --help Show this help
Default behavior of pciconf is to build the full list of all extensions loaded
on current platform.
pciconf --enable standard,date,xsl
pciconf --disable xdebug
Default behavior of pciconf is to build common
server API support (apache2handler,
cgi, cli).
pciconf --sapi nsapi,cli
Default behavior of pciconf is to build results in the same directory
where PHP_CompatInfo was installed (@php_dir@/PHP/CompatInfo).
pciconf --output /tmp
pciconf --output @php_dir@/../includes/PHP/CompatInfo
pciconf has ability to fix errors (like elements missing, or wrong version)
with the
Exception
Rules
System.
This ERS is provided by a file (default is exception.conf.php)
with a mandatory function named getException().
pciconf --exceptions /home/users/farell/myERS.php
pciconf run in verbose mode (by default). Thats means you should have
on screen what extensions (and which versions) were found.
pciconf --verbose 0
Thank you for your attention!
Hope you liked it!
ANY QUESTIONS ?
Do you have feedback, suggestions, critics?
Don't hesitate to ask to improve this new API before stable release, planned on January 19, 2009.