Command Line

Using PHP_CompatInfo from the command line

Differences with API

  • Reference informations (MIN and MAX PHP versions) about one or more extensions :

    • list all extensions

    • list all classes

    • list all interfaces

    • list all functions

    • list all constants

  • Print multiple reports group by scanned files or components

    • summary : usage summary of each extension, interface, class, function, constant used by your sources code

    • source : lines code count summary with or without source code

    • xml : export result to a XML format easy to transform to xHTML or other format

    • token : language PHP5 special features such as try/catch/throw exception, etc

    • extension : usage, minimum php version and origin of each extension used by your sources code

    • namespace : usage, minimum php version and origin of each namespace used by your sources code

    • trait : usage, minimum php version and origin of each trait used by your sources code

    • interface : usage, minimum php version and origin of each interface used by your sources code

    • class : usage, minimum php version and origin of each class used by your sources code

    • function : usage, minimum php version and origin of each function used by your sources code

    • constant : usage, minimum php version and origin of each constant used by your sources code

    • global : usage, minimum php version and origin of each global variable used by your sources code

    • condition : usage, minimum php version and origin of each code conditionnal function used by your sources code

    • full : all above reports except xml

Progress Bar

Note
Since version 2.12.0, there is a new progress bar (ALA PHPUnit).
PHP_CompatInfo 2.12.0 by Laurent Laville

....CC......................................................  60 / 128 ( 46%)
....C..C..........................................C....C.... 120 / 128 ( 93%)
.C.....C

   <your reports results HERE, or NONE if you use --report-file switch>

Time: 17 seconds, Memory: 17.00Mb

Required PHP 5.2.1 (min)
  • each C character tell us that there is a source file with conditional code (see condition report).

  • a resource line (time and memmory)

  • the global result of PHP versions required

Caution
the global result of PHP versions required may be different from you partial report printed just above. Don’t be confused.

Options

The list of command line options provided by the phpcompatinfo command can be queried anytime by running phpcompatinfo with the -h or --help switches.

PHP_CompatInfo (cli) by Laurent Laville.

Usage:
  phpcompatinfo [options]
  phpcompatinfo [options] <command> [options] [args]

Options:
  --configuration=xmlFile      Read configuration from XML file
  --no-configuration           Ignore default configuration file
                               (phpcompatinfo.xml)
  -d iniSet, --ini-set=iniSet  Sets a php.ini directive value
  -v, --verbose                Output more verbose information
  -h, --help                   show this help message and exit
  --version                    show the program version and exit

Commands:
  clear-cache      Clear Parser Cache
  print            Print a report of data source parsed.
  list-references  List all extensions supported.
  list             List all "elements" referenced in the data base.
  list-extensions  List all extensions referenced in the data base.
  list-interfaces  List all interfaces referenced in the data base.
  list-classes     List all classes referenced in the data base.
  list-functions   List all functions referenced in the data base.
  list-constants   List all constants referenced in the data base.
Short Option Long Option Description
--configuration Specify a custom XML file (which does not need to be named phpcompatinfo.xml or located into PEAR cfg_dir)
--no-configuration Ignore default configuration files phpcompatinfo.xml or phpcompatinfo.xml.dist
-d --ini-set This option allows you to set a custom value for any of the configuration directives allowed in php.ini. Example: -d memory_limit=256M
-v --verbose Sets the verbose level to print more informations
-h --help With this option, you can get information about the actual list of command line options and some one line descriptions about what they do.
--version Prints the version of PHP_CompatInfo and exits.

Unless you tell it to ignore the XML configuration file, default options are sets by the phpcompatinfo.xml.dist file if found into the PEAR cfg_dir \PHP_CompatInfo directory

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo
    reference="ALL"
    report="summary"
    reportFileAppend="false"
    cacheDriver="file"
    recursive="false"
    fileExtensions="php, inc, phtml"
    consoleProgress="true"
    verbose="false"
    >

    <!-- ... -->
</phpcompatinfo>

Verbose levels

Level 0

When you print report(s), you have on verbose level 0 (default) no extra informations.

Level 1

If you choose to set verbose level 1 (-v), your report(s) will print also some warnings messages. Such as what extensions are loaded in your platform (defined by your php.ini file), but not available on your PHP_CompatInfo distribution.

Warning messages : (2)

  Cannot load extension reference 'com_dotnet'
  Cannot load extension reference 'odbc'

Level 2

If you choose to set verbose level 2 (-vv), your report(s) will print both warnings messages (as in level 1) but also files where are used components of your report(s).

    $ phpcompatinfo -vv print -R --report condition \path\to\symfony-ClassLoader-2.1.2

    BASE: \path\to\symfony-ClassLoader-2.1.2

    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      extension_loaded                      Core-4.0.0        4.0.0               4
        \Symfony\Component\ClassLoader\ApcClassLoader.php
        \Symfony\Component\ClassLoader\ApcUniversalClassLoader.php
        \Symfony\Component\ClassLoader\Tests\ApcUniversalClassLoaderTest.php
        \Symfony\Component\ClassLoader\XcacheClassLoader.php
      method_exists                         Core-4.0.0        4.0.0               3
        \Symfony\Component\ClassLoader\ApcClassLoader.php
        \Symfony\Component\ClassLoader\DebugClassLoader.php
        \Symfony\Component\ClassLoader\XcacheClassLoader.php
      function_exists                       Core-4.0.0        4.0.0               6
        \Symfony\Component\ClassLoader\ClassCollectionLoader.php
        \Symfony\Component\ClassLoader\DebugClassLoader.php
        \Symfony\Component\ClassLoader\DebugUniversalClassLoader.php
      class_exists                          Core-4.0.0        5.0.0              15
        \Symfony\Component\ClassLoader\DebugClassLoader.php
        \Symfony\Component\ClassLoader\DebugUniversalClassLoader.php
        \Symfony\Component\ClassLoader\Tests\ApcUniversalClassLoaderTest.php
        \Symfony\Component\ClassLoader\Tests\ClassLoaderTest.php
        \Symfony\Component\ClassLoader\Tests\ClassMapGeneratorTest.php
        \Symfony\Component\ClassLoader\Tests\UniversalClassLoaderTest.php
      interface_exists                      Core-5.0.2        5.0.2               2
        \Symfony\Component\ClassLoader\DebugClassLoader.php
        \Symfony\Component\ClassLoader\DebugUniversalClassLoader.php
    C trait_exists                          Core-5.4.0        5.4.0               2
        \Symfony\Component\ClassLoader\DebugClassLoader.php
        \Symfony\Component\ClassLoader\DebugUniversalClassLoader.php
    -------------------------------------------------------------------------------
    A TOTAL OF 6 FUNCTIONS WERE FOUND
    WITH 1 EXCLUDED ON CONDITIONAL CODE
    REQUIRED PHP 5.0.2 (MIN)
    -------------------------------------------------------------------------------
    Time: 5 seconds, Memory: 10.50Mb
    -------------------------------------------------------------------------------


    Warning messages : (1)

      Cannot load extension reference 'mysqlnd'

    Time: 5 seconds, Memory: 10.50Mb

    Required PHP 5.3.2 (min)

Level 3

If you choose to set verbose level 3 (-vvv), your report(s) will print both warnings messages (as in level 1) and group results by used files of components of your report(s).

Note
It is usefull only when data source to parse is a directory.
    $ phpcompatinfo -vvv print -R --report condition \path\to\symfony-ClassLoader-2.1.2

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\ApcClassLoader.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      extension_loaded                      Core-4.0.0        4.0.0               1
      method_exists                         Core-4.0.0        4.0.0               1
    -------------------------------------------------------------------------------
    A TOTAL OF 2 FUNCTIONS WERE FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\ApcUniversalClassLoader.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      extension_loaded                      Core-4.0.0        4.0.0               1
    -------------------------------------------------------------------------------
    A TOTAL OF 1 FUNCTION WAS FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\ClassCollectionLoader.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      function_exists                       Core-4.0.0        4.0.0               4
    -------------------------------------------------------------------------------
    A TOTAL OF 1 FUNCTION WAS FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\DebugClassLoader.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      method_exists                         Core-4.0.0        4.0.0               1
      class_exists                          Core-4.0.0        5.0.0               1
      interface_exists                      Core-5.0.2        5.0.2               1
      function_exists                       Core-4.0.0        4.0.0               1
    C trait_exists                          Core-5.4.0        5.4.0               1
    -------------------------------------------------------------------------------
    A TOTAL OF 5 FUNCTIONS WERE FOUND
    WITH 1 EXCLUDED ON CONDITIONAL CODE
    REQUIRED PHP 5.0.2 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\DebugUniversalClassLoader.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      class_exists                          Core-4.0.0        5.0.0               1
      interface_exists                      Core-5.0.2        5.0.2               1
      function_exists                       Core-4.0.0        4.0.0               1
    C trait_exists                          Core-5.4.0        5.4.0               1
    -------------------------------------------------------------------------------
    A TOTAL OF 4 FUNCTIONS WERE FOUND
    WITH 1 EXCLUDED ON CONDITIONAL CODE
    REQUIRED PHP 5.0.2 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\Tests\ApcUniversalClassLoaderTest.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      extension_loaded                      Core-4.0.0        4.0.0               1
      class_exists                          Core-4.0.0        4.0.0               4
    -------------------------------------------------------------------------------
    A TOTAL OF 2 FUNCTIONS WERE FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\Tests\ClassLoaderTest.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      class_exists                          Core-4.0.0        4.0.0               4
    -------------------------------------------------------------------------------
    A TOTAL OF 1 FUNCTION WAS FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\Tests\ClassMapGeneratorTest.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      class_exists                          Core-4.0.0        4.0.0               1
    -------------------------------------------------------------------------------
    A TOTAL OF 1 FUNCTION WAS FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\Tests\UniversalClassLoaderTest.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      class_exists                          Core-4.0.0        4.0.0               4
    -------------------------------------------------------------------------------
    A TOTAL OF 1 FUNCTION WAS FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------

    BASE: \path\to\ClassLoader-2.1.2
    FILE: \Symfony\Component\ClassLoader\XcacheClassLoader.php
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONDITION SUMMARY
    -------------------------------------------------------------------------------
      CONDITION                             EXT min/Max       PHP min/Max     COUNT
    -------------------------------------------------------------------------------
      extension_loaded                      Core-4.0.0        4.0.0               1
      method_exists                         Core-4.0.0        4.0.0               1
    -------------------------------------------------------------------------------
    A TOTAL OF 2 FUNCTIONS WERE FOUND
    REQUIRED PHP 4.0.0 (MIN)
    -------------------------------------------------------------------------------
    Time: 2 seconds, Memory: 6.50Mb
    -------------------------------------------------------------------------------


    Warning messages : (1)

      Cannot load extension reference 'mysqlnd'

    Time: 2 seconds, Memory: 6.50Mb

    Required PHP 5.3.2 (min)

Commands

They are three categories of command:

  • cache management

  • printing scanned sources code results

  • listing database references extensions informations

clear-cache

This command allow to delete a cache from a specific source file, or purge all cache entries.

$ phpcompatinfo clear-cache

That will print, if cache is already cleared

0 cache entries cleared

Zero will be replaced by number of cache entries, in case of a previous CLI use

To delete only a specific source file parsing results from cache entries

$ phpcompatinfo clear-cache /path/to/source_file

print

This command allow to print results of scanned sources code. If you forget options, enter command below.

$ phpcompatinfo print --help

That will show you this help screen:

Print a report of data source parsed.

Usage:
  phpcompatinfo [options] print [options] sourcePath

Options:
  --reference=reference             The name of the reference to use
  --report=report                   Type of report
  --report-file=reportFile          Write the report to the specified file
                                    path
  --exclude-pattern=excludeID       Exclude components from list referenced
                                    by ID provided
  -R, --recursive                   Includes the contents of subdirectories
  --file-extensions=fileExtensions  A comma separated list of file
                                    extensions to check
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --help-reference                  List of reference available
  --help-report                     List of report available
  -h, --help                        show this help message and exit

Arguments:
  sourcePath  The data source to scan (file or directory).
Short Option Long Option Description
--reference This option tells what reference dictionnary to use. May be either one providing by the package distribution or your own.
--report Specify what kind of report to print. See --help-report for full list.
--report-file This option identify the file where results will be written.
--exclude-pattern Identify a <exclude> element in the XML configuration file, that define what elements to exclude from scope.
-R --recursive This option allow to parse directories recursively.
--file-extensions When parsing directory, specify what file to scan.
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--help-reference Remember you what are reference dictionnary available in default distribution.
--help-report Remember you what are reports available in default distribution.
-h --help With this option, you can get information about the actual list of command line options.
Tip
You can give one or more report at the same time.
Example: Printing only summary report
$ phpcompatinfo print --report summary /path/to/source
Example: Printing both summary, extension, interface, class, function, and constant reports.
$ phpcompatinfo print --report summary extension interface class function constant /path/to/source
Example: Printing both function and constant reports.
$ phpcompatinfo print --report function --report constant /path/to/source

list-references

This command allow to print the list of documented extensions available with your version of PHP_CompatInfo, and specify those which are currently loaded (L in front or their names)

If you forget options, enter command below.

$ phpcompatinfo list-references --help

That will show you this help screen:

List all extensions supported.

Usage:
  phpcompatinfo [options] list-references [options] [reference]

Options:
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --report-file=reportFile          Write the report to the specified file
                                    path
  -h, --help                        show this help message and exit
Short Option Long Option Description
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--report-file This option identify the file where results will be written.
-h --help With this option, you can get information about the actual list of command line options.
Example
$ phpcompatinfo list-references
    -------------------------------------------------------------------------------
    PHP COMPAT INFO DATABASE REFERENCE
    -------------------------------------------------------------------------------
      EXTENSION                             VERSION           PHP min/Max
    -------------------------------------------------------------------------------
      amqp                                  1.2.0             5.2.0
      apc                                   3.1.13            4.3.0
    L apcu                                  4.0.2             5.3.0
    L bcmath                                                  4.0.0
    L bz2                                                     4.0.4
    L calendar                                                4.0.0
      Core                                  5.5.7             4.0.0
    L ctype                                                   4.0.4
    L curl                                                    4.0.2
    L date                                                    4.0.0
    L dom                                   20031129          5.0.0
      enchant                               1.1.0             5.0.0
      ereg                                                    4.0.0/5.3.27
    L exif                                                    4.0.1
      fileinfo                              1.0.5             4.0.0
    L filter                                0.11.0            4.0.0
    L ftp                                                     4.0.0
    L gd                                                      4.0.0
      gender                                1.0.0             5.3.0
      geoip                                 1.0.8             4.3.0
    L gettext                                                 4.0.0
      gmp                                                     5.1.0
      haru                                  1.0.4             5.1.3
    L hash                                  1.0               4.0.0
      htscanner                             1.0.1             5.2.0
      http                                  2.0.3             5.3.0
    L iconv                                                   4.0.5
      igbinary                              1.1.1             5.2.0
      imagick                               3.1.2             5.1.3
    L imap                                                    4.0.0
      inclued                               0.1.3             5.1.0
      intl                                  3.0.0             5.2.0
      jsmin                                 0.1.1             5.3.10
    L json                                  1.2.1             5.2.0
    L ldap                                                    4.0.0
      libevent                              0.1.0             5.3.0
    L libxml                                                  5.0.0
      lzf                                   1.6.2             4.0.0
      mailparse                             2.1.6             4.3.0
    L mbstring                                                4.0.6
    L mcrypt                                                  4.0.0
      memcache                              3.0.8             4.3.11
      memcached                             2.2.0b1           5.2.0
    L mhash                                                   4.0.0/5.2.17
      mongo                                 1.4.4             5.0.0
      msgpack                               0.5.5             5.0.0
      mssql                                                   4.0.0
    L mysql                                 1.0               4.0.0
    L mysqli                                0.1               5.0.0
      OAuth                                 1.2.3             5.1.0
    L odbc                                                    4.0.0
    L openssl                                                 4.0.4
      pcntl                                                   4.1.0
    L pcre                                                    4.0.0
      PDFlib                                3.0.1             5.2.0
    L PDO                                   1.0.4dev          5.1.0
      pgsql                                                   4.0.0
      Phar                                  2.0.1             5.2.0
      posix                                 306939            4.0.0
      pthreads                              0.45              5.3.0
      rar                                   3.0.1             5.2.0
      readline                              2.0.1             4.0.0
      recode                                2.0.1             4.0.0
      riak                                  1.0.0             5.3.0
    L Reflection                                              5.0.0
    L session                                                 4.0.0
    L shmop                                                   4.0.0
    L SimpleXML                             0.1               5.0.0
      snmp                                  0.1               4.0.0
    L soap                                                    5.0.0
    L sockets                                                 4.1.0
      solr                                  1.0.2             5.2.3
      sphinx                                1.3.0             5.1.3
    L SPL                                   0.2               5.0.0
    L SQLite                                2.0-dev           5.0.0
      sqlite3                               0.7               5.3.0
      ssh2                                  0.12              4.0.0
    L standard                              5.5.7             4.0.0
      stomp                                 1.0.5             5.2.2
    L svn                                   1.0.2             4.0.0
      sysvmsg                               306939            4.3.0
      sysvsem                                                 4.0.0
      sysvshm                                                 4.0.0
    L tidy                                  2.0               4.3.0
    L tokenizer                             0.1               4.2.0
      uploadprogress                        1.0.3.1           5.2.0
      varnish                               1.1.1             5.3.0
    L wddx                                                    4.0.0
      XCache                                3.1.0             4.3.0
    L xdebug                                2.2.3             4.3.0
      xhprof                                0.9.4             5.2.0
    L xml                                                     4.0.0
    L xmlreader                             0.1               5.0.0
    L xmlrpc                                0.51              4.1.0
    L xmlwriter                             0.1               5.1.2
    L xsl                                   0.1               5.0.0
      yaml                                  1.1.0             5.2.0
      Zend OPcache                          7.0.3-dev         5.2.0
    L zip                                   1.12.3            4.3.0
    L zlib                                  2.0               4.3.0
    -------------------------------------------------------------------------------
    A TOTAL OF 100 EXTENSIONS WERE FOUND AND 49 LOADED
    -------------------------------------------------------------------------------
    Time: 1 second, Memory: 5.25Mb
    -------------------------------------------------------------------------------
  • The VERSION column specify the version of extension that was documented

  • The PHP min/Max column specify which are the php versions (minimum and maximum) supported by the extension

list

This command allow to combine one or more list-* command.

Warning
results may be huge

If you forget options, enter command below.

$ phpcompatinfo list --help

That will show you this help screen:

List all "elements" referenced in the data base.

Usage:
  phpcompatinfo [options] list [options] element1 element2 ...

Options:
  --reference=reference             The name of the reference to use
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --report-file=reportFile          Write the report to the specified file
                                    path
  --help-reference                  List of reference available
  -h, --help                        show this help message and exit

Arguments:
  element  May be either "extensions", "interfaces", "classes", "functions"
           or "constants"
Short Option Long Option Description
--reference This option tells what reference dictionnary to use. May be either one providing by the package distribution or your own.
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--report-file This option identify the file where results will be written.
--help-reference Remember you what are reference dictionnary available in default distribution.
-h --help With this option, you can get information about the actual list of command line options.
Example: list both interfaces and classes of all extensions supported by PHP_Compatinfo
$ phpcompatinfo list interfaces classes
    -------------------------------------------------------------------------------
    PHP COMPAT INFO INTERFACE REFERENCE
    -------------------------------------------------------------------------------
    INTERFACE                               EXT min/Max       PHP min/Max
    -------------------------------------------------------------------------------
    ArrayAccess                             SPL-5.1.0         5.1.0
    Countable                               SPL-5.1.0         5.1.0
    Iterator                                SPL-5.1.0         5.1.0
    IteratorAggregate                       SPL-5.1.0         5.1.0
    JsonSerializable                        json-5.4.0        5.4.0
    OuterIterator                           SPL-5.1.0         5.1.0
    RecursiveIterator                       SPL-5.1.0         5.1.0
    Reflector                               Reflection        5.0.0
    SeekableIterator                        SPL-5.1.0         5.1.0
    Serializable                            SPL-5.1.0         5.1.0
    SessionHandlerInterface                 session           5.4.0
    SplObserver                             SPL-5.1.0         5.1.0
    SplSubject                              SPL-5.1.0         5.1.0
    Traversable                             SPL-5.1.0         5.1.0
    -------------------------------------------------------------------------------
    A TOTAL OF 14 INTERFACES WERE FOUND
    -------------------------------------------------------------------------------
    Time: 0 seconds, Memory: 9.50Mb
    -------------------------------------------------------------------------------


    -------------------------------------------------------------------------------
    PHP COMPAT INFO CLASS REFERENCE
    -------------------------------------------------------------------------------
    CLASS                                   EXT min/Max       PHP min/Max
    -------------------------------------------------------------------------------
    AMQPChannel                             amqp-1.0.0        5.2.0
    AMQPConnection                          amqp-0.1.0        5.2.0
    AMQPEnvelope                            amqp-1.0.0        5.2.0
    AMQPExchange                            amqp-0.1.0        5.2.0
    AMQPQueue                               amqp-0.1.0        5.2.0
    APCIterator                             apc-3.1.1         5.0.0
    AppendIterator                          SPL-5.1.0         5.1.0
    ArrayIterator                           SPL-5.0.0         5.0.0
    ArrayObject                             SPL-5.0.0         5.0.0
    BadFunctionCallException                SPL-5.1.0         5.1.0
    BadMethodCallException                  SPL-5.1.0         5.1.0
    CachingIterator                         SPL-5.0.0         5.0.0
    CallbackFilterIterator                  SPL-5.4.0         5.4.0
    Closure                                 Core-5.3.0        5.3.0
    Collator                                intl-1.0.0beta    5.2.0
    DOMAttr                                 dom               5.0.0

    ... <more results> ...

    mysqli_warning                          mysqli            5.0.0
    php_user_filter                         standard-5.0.0    5.0.0
    stdClass                                Core-4.0.0        4.0.0
    tidy                                    tidy-0.5.2        4.3.0
    tidyNode                                tidy-0.7.0        5.0.1
    -------------------------------------------------------------------------------
    A TOTAL OF 208 CLASSES WERE FOUND
    -------------------------------------------------------------------------------
    Time: 0 seconds, Memory: 9.50Mb
    -------------------------------------------------------------------------------

list-extensions

This command allow to print the list of documented extensions available with your version of PHP_CompatInfo, and loaded on your platform.

If you forget options, enter command below.

$ phpcompatinfo list-extensions --help

That will show you this help screen:

List all extensions referenced in the data base.

Usage:
  phpcompatinfo [options] list-extensions [options] [reference]

Options:
  --reference=reference             The name of the reference to use
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --report-file=reportFile          Write the report to the specified file
                                    path
  --help-reference                  List of reference available
  -h, --help                        show this help message and exit

Arguments:
  reference  (optional) Limit output only to this reference
Short Option Long Option Description
--reference This option tells what reference dictionnary to use. May be either one providing by the package distribution or your own.
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--report-file This option identify the file where results will be written.
--help-reference Remember you what are reference dictionnary available in default distribution.
-h --help With this option, you can get information about the actual list of command line options.
Example
$ phpcompatinfo list-extensions
    -------------------------------------------------------------------------------
    PHP COMPAT INFO EXTENSION REFERENCE
    -------------------------------------------------------------------------------
    EXTENSION                               VERSION           PHP min/Max
    -------------------------------------------------------------------------------
    Core                                    5.4.8             4.0.0
    PDO                                     1.0.4dev          5.1.0
    Phar                                    2.0.1             5.2.0
    Reflection                                                5.0.0
    SPL                                     0.2               5.0.0
    SimpleXML                               0.1               5.0.0
    bcmath                                                    4.0.0
    bz2                                                       4.0.4
    calendar                                                  4.0.0
    ctype                                                     4.0.4
    curl                                                      4.0.2
    date                                                      4.0.0
    dom                                     20031129          5.0.0
    ereg                                                      4.0.0/5.3.0
    fileinfo                                1.0.5-dev         4.0.0
    filter                                  0.11.0            5.2.0
    ftp                                                       4.0.0
    gd                                                        4.0.0
    gettext                                                   4.0.0
    hash                                    1.0               5.1.2
    iconv                                                     4.0.5
    imap                                                      4.0.0
    json                                    1.2.1             5.2.0
    libxml                                                    5.0.0
    mbstring                                                  4.0.6
    mcrypt                                                    4.0.0
    mhash                                                     4.0.0
    mysql                                   1.0               4.0.0
    mysqli                                  0.1               5.0.0
    OAuth                                   1.0-dev           5.1.0
    openssl                                                   4.0.4
    pcre                                                      4.0.0
    session                                                   4.0.0
    shmop                                                     4.0.0
    soap                                                      5.0.0
    sockets                                                   4.1.0
    sqlite3                                 0.7-dev           5.3.0
    standard                                5.4.8             4.0.0
    tidy                                    2.0               4.0.0
    tokenizer                               0.1               4.2.0
    wddx                                                      4.0.0
    xdebug                                  2.1.0             5.2.0
    xml                                                       4.0.0
    xmlreader                               0.1               5.0.0
    xmlrpc                                  0.51              4.1.0
    xmlwriter                               0.1               5.1.2
    xsl                                     0.1               5.0.0
    zlib                                    1.1               4.0.0
    -------------------------------------------------------------------------------
    A TOTAL OF 48 EXTENSIONS WERE FOUND
    -------------------------------------------------------------------------------
    Time: 0 seconds, Memory: 6.25Mb
    -------------------------------------------------------------------------------
  • The VERSION column specify the version of extension that was documented

  • The PHP min/Max column specify which are the php versions (minimum and maximum) supported by the extension

Tip
You can filter result by extension

Example: if you want only SPL extension, enter command below.

$ phpcompatinfo list-extensions SPL

list-interfaces

This command allow to print the list of documented interfaces available with your version of PHP_CompatInfo, from your extensions loaded (or defined into XML configuration file).

If you forget options, enter command below.

$ phpcompatinfo list-interfaces --help

That will show you this help screen:

List all interfaces referenced in the data base.

Usage:
  phpcompatinfo [options] list-interfaces [options] [reference]

Options:
  --reference=reference             The name of the reference to use
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --report-file=reportFile          Write the report to the specified file
                                    path
  --help-reference                  List of reference available
  -h, --help                        show this help message and exit

Arguments:
  reference  (optional) Limit output only to this reference
Short Option Long Option Description
--reference This option tells what reference dictionnary to use. May be either one providing by the package distribution or your own.
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--report-file This option identify the file where results will be written.
--help-reference Remember you what are reference dictionnary available in default distribution.
-h --help With this option, you can get information about the actual list of command line options.
Example
$ phpcompatinfo list-interfaces
    -------------------------------------------------------------------------------
    PHP COMPAT INFO INTERFACE REFERENCE
    -------------------------------------------------------------------------------
    INTERFACE                               EXT min/Max       PHP min/Max
    -------------------------------------------------------------------------------
    ArrayAccess                             SPL-5.1.0         5.1.0
    Countable                               SPL-5.1.0         5.1.0
    Iterator                                SPL-5.1.0         5.1.0
    IteratorAggregate                       SPL-5.1.0         5.1.0
    JsonSerializable                        json-5.4.0        5.4.0
    OuterIterator                           SPL-5.1.0         5.1.0
    RecursiveIterator                       SPL-5.1.0         5.1.0
    Reflector                               Reflection        5.0.0
    SeekableIterator                        SPL-5.1.0         5.1.0
    Serializable                            SPL-5.1.0         5.1.0
    SessionHandlerInterface                 session           5.4.0
    SplObserver                             SPL-5.1.0         5.1.0
    SplSubject                              SPL-5.1.0         5.1.0
    Traversable                             SPL-5.1.0         5.1.0
    -------------------------------------------------------------------------------
    A TOTAL OF 14 INTERFACES WERE FOUND
    -------------------------------------------------------------------------------
    Time: 0 seconds, Memory: 6.25Mb
    -------------------------------------------------------------------------------
  • The Ext min/Max column specify which are the extension versions (minimum and maximum) required by these interfaces

  • The PHP min/Max column specify which are the php versions (minimum and maximum) supported by the extension

Tip
You can filter result by extension

Example: if you want only SPL extension interfaces, enter command below.

$ phpcompatinfo list-interfaces SPL
Tip
You can filter result by extension and version (php or extension) with a particular relationship

Example: if you want only Core interfaces, supported by all PHP versions until 5.1.0, enter command below.

$ phpcompatinfo list-interfaces core --filter-version php_5.1.0

Example: if you want only standard interfaces, came only with PHP 5.0.0, enter command below.

$ phpcompatinfo list-interfaces standard --filter-version php_5.0.0 --filter-operator eq

Example: if you want only apc interfaces, available with all apc versions since 3.1.0, enter command below.

$ phpcompatinfo list-interfaces apc --filter-version 3.1.0 --filter-operator ge

list-classes

This command allow to print the list of documented classes available with your version of PHP_CompatInfo, from your extensions loaded (or defined into XML configuration file).

If you forget options, enter command below.

$ phpcompatinfo list-classes --help

That will show you this help screen:

List all classes referenced in the data base.

Usage:
  phpcompatinfo [options] list-classes [options] [reference]

Options:
  --reference=reference             The name of the reference to use
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --report-file=reportFile          Write the report to the specified file
                                    path
  --help-reference                  List of reference available
  -h, --help                        show this help message and exit

Arguments:
  reference  (optional) Limit output only to this reference
Short Option Long Option Description
--reference This option tells what reference dictionnary to use. May be either one providing by the package distribution or your own.
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--report-file This option identify the file where results will be written.
--help-reference Remember you what are reference dictionnary available in default distribution.
-h --help With this option, you can get information about the actual list of command line options.
Example
$ phpcompatinfo list-classes
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CLASS REFERENCE
    -------------------------------------------------------------------------------
    CLASS                                   EXT min/Max       PHP min/Max
    -------------------------------------------------------------------------------
    AppendIterator                          SPL-5.1.0         5.1.0
    ArrayIterator                           SPL-5.0.0         5.0.0
    ArrayObject                             SPL-5.0.0         5.0.0
    BadFunctionCallException                SPL-5.1.0         5.1.0
    BadMethodCallException                  SPL-5.1.0         5.1.0
    CachingIterator                         SPL-5.0.0         5.0.0
    CallbackFilterIterator                  SPL-5.4.0         5.4.0
    Closure                                 Core-5.3.0        5.3.0

    ... <more results> ...

    SplQueue                                SPL-5.3.0         5.3.0
    SplStack                                SPL-5.3.0         5.3.0
    SplTempFileObject                       SPL-5.1.2         5.1.2
    UnderflowException                      SPL-5.1.0         5.1.0
    UnexpectedValueException                SPL-5.1.0         5.1.0
    XMLReader                               xmlreader         5.0.0
    XMLWriter                               xmlwriter         5.1.2
    ZipArchive                              zip-1.6.0         5.2.0
    __PHP_Incomplete_Class                  standard-4.0.0    4.0.0
    php_user_filter                         standard-5.0.0    5.0.0
    stdClass                                Core-4.0.0        4.0.0
    -------------------------------------------------------------------------------
    A TOTAL OF 118 CLASSES WERE FOUND
    -------------------------------------------------------------------------------
    Time: 0 seconds, Memory: 6.25Mb
    -------------------------------------------------------------------------------
  • The Ext min/Max column specify which are the extension versions (minimum and maximum) required by these classes

  • The PHP min/Max column specify which are the php versions (minimum and maximum) supported by the extension

Tip
You can filter result by extension

Example: if you want only SPL extension classes, enter command below.

$ phpcompatinfo list-classes SPL
Tip
You can filter result by extension and version (php or extension) with a particular relationship

Example: if you want only Core classes, supported by all PHP versions until 5.1.0, enter command below.

$ phpcompatinfo list-classes core --filter-version php_5.1.0

Example: if you want only standard classes, came only with PHP 5.0.0, enter command below.

$ phpcompatinfo list-classes standard --filter-version php_5.0.0 --filter-operator eq

Example: if you want only apc classes, available with all apc versions after 3.0.0, enter command below.

$ phpcompatinfo list-classes apc --filter-version 3.0.0 --filter-operator gt

list-functions

This command allow to print the list of documented functions available with your version of PHP_CompatInfo, from your extensions loaded (or defined into XML configuration file).

If you forget options, enter command below.

$ phpcompatinfo list-functions --help

That will show you this help screen:

List all functions referenced in the data base.

Usage:
  phpcompatinfo [options] list-functions [options] [reference]

Options:
  --reference=reference             The name of the reference to use
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --report-file=reportFile          Write the report to the specified file
                                    path
  --help-reference                  List of reference available
  -h, --help                        show this help message and exit

Arguments:
  reference  (optional) Limit output only to this reference
Short Option Long Option Description
--reference This option tells what reference dictionnary to use. May be either one providing by the package distribution or your own.
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--report-file This option identify the file where results will be written.
--help-reference Remember you what are reference dictionnary available in default distribution.
-h --help With this option, you can get information about the actual list of command line options.
Example
$ phpcompatinfo list-functions
    -------------------------------------------------------------------------------
    PHP COMPAT INFO FUNCTION REFERENCE
    -------------------------------------------------------------------------------
    FUNCTION                                EXT min/Max        PHP min/Max
    -------------------------------------------------------------------------------
    abs                                     standard-4.0.0     4.0.0
    acos                                    standard-4.0.0     4.0.0
    acosh                                   standard-4.0.7     4.0.7
    addcslashes                             standard-4.0.0     4.0.0
    addslashes                              standard-4.0.0     4.0.0
    array_change_key_case                   standard-4.2.0     4.2.0
    array_chunk                             standard-4.2.0     4.2.0
    array_combine                           standard-5.0.0     5.0.0

    ... <more results> ...

    zend_logo_guid                          standard-4.0.0     4.0.0
    zend_thread_id                          Core-5.0.0         5.0.0
    zend_version                            Core-4.0.0         4.0.0
    zip_close                               zip-1.0            4.3.0
    zip_entry_close                         zip-1.0            4.3.0
    zip_entry_compressedsize                zip-1.0            4.3.0
    zip_entry_compressionmethod             zip-1.0            4.3.0
    zip_entry_filesize                      zip-1.0            4.3.0
    zip_entry_name                          zip-1.0            4.3.0
    zip_entry_open                          zip-1.0            4.3.0
    zip_entry_read                          zip-1.0            4.3.0
    zip_open                                zip-1.0            4.3.0
    zip_read                                zip-1.0            4.3.0
    zlib_decode                             zlib-2.0           5.4.0
    zlib_encode                             zlib-2.0           5.4.0
    zlib_get_coding_type                    zlib-1.0           4.3.2
    -------------------------------------------------------------------------------
    A TOTAL OF 1063 FUNCTIONS WERE FOUND
    -------------------------------------------------------------------------------
    Time: 1 second, Memory: 6.25Mb
    -------------------------------------------------------------------------------
  • The Ext min/Max column specify which are the extension versions (minimum and maximum) required by these functions

  • The PHP min/Max column specify which are the php versions (minimum and maximum) supported by the extension

Tip
You can filter result by extension

Example: if you want only SPL extension functions, enter command below.

$ phpcompatinfo list-functions SPL
Tip
You can filter result by extension and version (php or extension) with a particular relationship

Example: if you want only json functions, supported by all PHP versions until 5.2.0, enter command below.

$ phpcompatinfo list-functions json --filter-version php_5.2.0

Example: if you want only json functions, came only with PHP 5.3.0, enter command below.

$ phpcompatinfo list-functions json --filter-version php_5.3.0 --filter-operator eq

Example: if you want only apc functions, available with all apc versions before 3.0.0, enter command below.

$ phpcompatinfo list-functions apc --filter-version 3.0.0 --filter-operator lt

list-constants

This command allow to print the list of documented constants available with your version of PHP_CompatInfo, from your extensions loaded (or defined into XML configuration file).

If you forget options, enter command below.

$ phpcompatinfo list-constants --help

That will show you this help screen:

List all constants referenced in the data base.

Usage:
  phpcompatinfo [options] list-constants [options] [reference]

Options:
  --reference=reference             The name of the reference to use
  --filter-version=filterVersion    The version to compare with each
                                    element found
  --filter-operator=filterOperator  The version test relationship
  --report-file=reportFile          Write the report to the specified file
                                    path
  --help-reference                  List of reference available
  -h, --help                        show this help message and exit

Arguments:
  reference  (optional) Limit output only to this reference
Short Option Long Option Description
--reference This option tells what reference dictionnary to use. May be either one providing by the package distribution or your own.
--filter-version Filter results on a specific PHP or extension version
--filter-operator Operator to test versions for a particular relationship (same as PHP.version_compare)
--report-file This option identify the file where results will be written.
--help-reference Remember you what are reference dictionnary available in default distribution.
-h --help With this option, you can get information about the actual list of command line options.
Example
$ phpcompatinfo list-constants
    -------------------------------------------------------------------------------
    PHP COMPAT INFO CONSTANT REFERENCE
    -------------------------------------------------------------------------------
    CONSTANT                                EXT min/Max       PHP min/Max
    -------------------------------------------------------------------------------
    ABDAY_1                                 standard-4.1.0    4.1.0
    ABDAY_2                                 standard-4.1.0    4.1.0
    ABDAY_3                                 standard-4.1.0    4.1.0
    ABDAY_4                                 standard-4.1.0    4.1.0
    ABDAY_5                                 standard-4.1.0    4.1.0

    ... <more results> ...

    STREAM_ENFORCE_SAFE_MODE                standard-4.0.0    4.0.0/5.3.17

    ... <more results> ...

    ZEND_DEBUG_BUILD                        Core-5.3.0        5.3.0
    ZEND_MULTIBYTE                          Core-5.3.4        5.3.4/5.3.17
    ZEND_THREAD_SAFE                        Core-4.0.0        4.0.0
    ZLIB_ENCODING_DEFLATE                   zlib-2.0          5.4.0
    ZLIB_ENCODING_GZIP                      zlib-2.0          5.4.0
    ZLIB_ENCODING_RAW                       zlib-2.0          5.4.0
    __CLASS__                               Core-4.3.0        4.3.0
    __COMPILER_HALT_OFFSET__                Core-5.1.0        5.1.0
    __DIR__                                 Core-5.3.0        5.3.0
    __FILE__                                Core-4.0.0        4.0.0
    __FUNCTION__                            Core-4.3.0        4.3.0
    __LINE__                                Core-4.0.0        4.0.0
    __METHOD__                              Core-5.0.0        5.0.0
    __NAMESPACE__                           Core-5.3.0        5.3.0
    __TRAIT__                               Core-5.4.0        5.4.0
    -------------------------------------------------------------------------------
    A TOTAL OF 914 CONSTANTS WERE FOUND
    -------------------------------------------------------------------------------
    Time: 0 seconds, Memory: 6.25Mb
    -------------------------------------------------------------------------------
  • The Ext min/Max column specify which are the extension versions (minimum and maximum) required by these constants

  • The PHP min/Max column specify which are the php versions (minimum and maximum) supported by the extension

Tip
You can filter result by extension

Example: if you want only SPL extension constants, enter command below.

$ phpcompatinfo list-constants SPL
Tip
You can filter result by extension and version (php or extension) with a particular relationship

Example: if you want only json constants, supported by all PHP versions until 5.3.0, enter command below.

$ phpcompatinfo list-constants json --filter-version php_5.3.0

Example: if you want only json constants, came only with PHP 5.4.0, enter command below.

$ phpcompatinfo list-constants json --filter-version php_5.4.0 --filter-operator eq

Example: if you want only apc constants, available with all apc versions before 3.2.0, enter command below.

$ phpcompatinfo list-constants apc --filter-version 3.2.0 --filter-operator lt