如果您试图检查您运行的 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 版本作为 string。如果 extension
参数提供了 string 参数,phpversion() 将返回该扩展的版本,如果没有任何关联的版本信息或扩展未启用,则返回 false
。
版本 | 描述 |
---|---|
8.0.0 |
extension 现在可以为空。 |
示例 #1 phpversion() 示例
<?php
// 输出例如 'Current PHP version: 4.1.1'
echo 'Current PHP version: ' . 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 版本
// 可能具有的功能,这不需要每次检查
// 当前 PHP 版本是否可能不支持某个功能时,都需要使用 version_compare()。
//
// 例如,我们可能在这里定义 PHP_VERSION_* 常量,这些常量
// 在 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 版本是否足够,不要使用 `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/>';
}
?>