如果您要检查您运行的 PHP 版本是否足够,请不要使用 `strcasecmp` 等方法。PHP 已经有 `version_compare` 函数,它是专门用来比较 PHP 风格的版本字符串的。
<?php
if (version_compare(phpversion(), '5.3.10', '<')) {
// PHP 版本不够高
}
?>
(PHP 4, PHP 5, PHP 7, PHP 8)
phpversion — 返回当前 PHP 版本
extension
可选的扩展名。
返回当前运行的 PHP 版本的版本号,以 字符串 形式返回。如果为 extension
参数指定了 字符串 参数,则返回该扩展的版本号,或者如果扩展未加载或不包含版本信息,则返回 false
。
版本 | 描述 |
---|---|
8.0.0 |
extension 现在可以为空(接受 null 值)。 |
示例 #1 phpversion() 示例
<?php
// 例如输出 '当前 PHP 版本是 4.1.1'
echo '当前 PHP 版本是 '. phpversion();
// 例如输出 '2.0',或者如果扩展未启用则什么也不输出
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 版本是否不支持某些功能。
//
// 例如,我们可以这样定义在 5.2.7 之前的版本中不可用的
// PHP_VERSION_* 常量。
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 版本是否足够,请不要使用 `strcasecmp` 等方法。PHP 已经有 `version_compare` 函数,它是专门用来比较 PHP 风格的版本字符串的。
<?php
if (version_compare(phpversion(), '5.3.10', '<')) {
// PHP 版本不够高
}
?>
要了解加载了哪些 {php} 扩展以及扩展的版本
<?php
foreach (get_loaded_extensions() as $i => $ext)
{
echo $ext .' => '. phpversion($ext). '<br/>';
}
?>