CakeFest 2024: The Official CakePHP Conference

phpversion

(PHP 4, PHP 5, PHP 7, PHP 8)

phpversion获取当前的PHP版本

说明

phpversion(?string $extension = null): string|false

返回了包含当前运行 PHP 解释器或扩展版本信息的 string。

参数

extension

可选的扩展名。

返回值

string 形式返回当前 PHP 版本。如果为 extension 提供了 string 类型的参数,phpversion() 会返回该扩展的版本。如果没有对应的版本信息,或者该扩展未启用,则返回 false

更新日志

版本 说明
8.0.0 extension 现在可为 null。

示例

示例 #1 phpversion() 示例

<?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');
?>

示例 #2 PHP_VERSION_ID 示例和用法

<?php
// PHP_VERSION_ID 自 PHP 5.2.7 起有效,
// 如果我们的版本低于该版本,则用以下代码来模拟
if (!defined('PHP_VERSION_ID')) {
$version = explode('.', PHP_VERSION);

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

// PHP_VERSION_ID 定义为一个数字,PHP 版本越新,数字越大。
// 它的定义是以下的表达式:
//
// $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
//
// 现在我们可以通过 PHP_VERSION_ID 来检查 PHP 版本,
// 而不用每次都必须用 version_compare() 来检查 PHP 是否支持某个功能。
//
// 比如,我们在此可以定义一系列 PHP_VERSION_* constants 常量,
// 而在 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]);

// 等等, ...
}
?>

注释

注意:

这些信息也存在于预定义常量 PHP_VERSION里。 更多版本的信息可以使用常量 PHP_VERSION_*

注意:

许多扩展可能会定义它们自己的版本号。然而,大多数捆绑版本将会使用 PHP 版本作为他们的版本号。

注意:

一些扩展可能会定义他们自己的版本号。 然而,大多数内置的扩展会使用 PHP 版本作为它们的版本号。

参见

add a note

User Contributed Notes 3 notes

up
128
cHao
10 years ago
If you're trying to check whether the version of PHP you're running on is sufficient, don't screw around with `strcasecmp` etc. PHP already has a `version_compare` function, and it's specifically made to compare PHP-style version strings.

<?php
if (version_compare(phpversion(), '5.3.10', '<')) {
// php version isn't high enough
}
?>
up
19
burninleo at gmx dot net
7 years ago
Note that the version string returned by phpversion() may include more information than expected: "5.5.9-1ubuntu4.17", for example.
up
18
pavankumar at tutorvista dot com
13 years ago
To know, what are the {php} extensions loaded & version of extensions :

<?php
foreach (get_loaded_extensions() as $i => $ext)
{
echo
$ext .' => '. phpversion($ext). '<br/>';
}
?>
To Top