phpversion

Gets the current PHP version

&reftitle.description; ``string``false```phpversion` ``string``null```extension`&null;

Returns a string containing the version of the currently running PHP parser or extension.

&reftitle.parameters;

`extension`

- An optional extension name.

&reftitle.returnvalues;

Returns the current PHP version as a `string`. If a `string` argument is provided for `extension` parameter, `phpversion` returns the version of that extension, or &false; if there is no version information associated or the extension isn't enabled.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `extension` is nullable now.

&reftitle.examples;

### `phpversion` example

    <?php
    // prints e.g. 'Current PHP version: 4.1.1'
    echo 'Current PHP version: ' . phpversion();

    // prints e.g. '2.0' or nothing if the extension isn't enabled
    echo phpversion('tidy');
    ?>

### `PHP_VERSION_ID` example and usage

    <?php
    // PHP_VERSION_ID is available as of PHP 5.2.7, if our
    // version is lower than that, then emulate it
    if (!defined('PHP_VERSION_ID')) {
        $version = explode('.', PHP_VERSION);

        define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
    }

    // PHP_VERSION_ID is defined as a number, where the higher the number
    // is, the newer a PHP version is used. It's defined as used in the above
    // expression:
    //
    // $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
    //
    // Now with PHP_VERSION_ID we can check for features this PHP version
    // may have, this doesn't require to use version_compare() everytime
    // you check if the current PHP version may not support a feature.
    //
    // For example, we may here define the PHP_VERSION_* constants thats
    // not available in versions prior to 5.2.7

    if (PHP_VERSION_ID < 50207) {
        define('PHP_MAJOR_VERSION',   $version[0]);
        define('PHP_MINOR_VERSION',   $version[1]);
        define('PHP_RELEASE_VERSION', $version[2]);

        // and so on, ...
    }
    ?>

&reftitle.notes;

This information is also available in the predefined constant `PHP_VERSION`. More versioning information is available using the `PHP_VERSION_*` constants.

Some extensions may define their own version number. However, most bundled extension will use the PHP version as their version number.

&reftitle.seealso;

- PHP_VERSION constants
- `version_compare`
- `phpinfo`
- `phpcredits`
- `zend_version`