如何简单检查服务器PHP版本是否为5或更高版本?

Kal*_*vas 8 php validation

我正在为程序创建一个预安装核对表.该程序需要PHP5,所以我需要checklist-script来检查PHP5的可用性.
有一个函数phpversion(),它将以格式5.3.6或类似的形式返回.但是,我希望清单非常直接,只需告诉您是或否.所以显示当前版本对我没那么大帮助.好的,一种方法是使用phpversion()和删除昏迷等.但是,是不是有一个更简洁的方式?(奇怪的是,这里没有相关信息)

那么,如何简单地检查服务器PHP版本是否为5或更高?

if (...) {
    echo 'Server has PHP5 or above!';
} else {
    echo 'Servers PHP version is lower then PHP5';
}
Run Code Online (Sandbox Code Playgroud)

Dev*_*n M 20

你可能会适应这样的事情:

<?php
if (version_compare(PHP_VERSION, '6.0.0') >= 0) {
    echo 'I am at least PHP version 6.0.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo 'I am at least PHP version 5.3.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    echo 'I am using PHP 5, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
    echo 'I am using PHP 4, my version: ' . PHP_VERSION . "\n";
}
?>
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看文档.


Luw*_*uwe 17

有一个预定义的常量:

echo PHP_MAJOR_VERSION // displays 5
Run Code Online (Sandbox Code Playgroud)

http://nl.php.net/manual/en/reserved.constants.php#reserved.constants.core

所以:

if (defined('PHP_MAJOR_VERSION') && PHP_MAJOR_VERSION >= 5) 
{
  echo 'Server has PHP 5 or above!';
} 
else 
{
  echo 'Servers PHP version is lower then PHP5';
}
Run Code Online (Sandbox Code Playgroud)

以上仅适用于PHP> 5.2.7,请尝试使用以下版本:

if (strnatcmp(phpversion(),'5.0.0') >= 0)
{
  echo '5 or higher';
}
else
{
  echo '4 or lower';
}
Run Code Online (Sandbox Code Playgroud)

这里的评论之一建议:http://www.php.net/manual/en/function.phpversion.php#91816


小智 9

有关示例,请参见http://www.php.net/manual/en/function.version-compare.php:

if (version_compare(PHP_VERSION, '5.0.0', '>=')) { ...
Run Code Online (Sandbox Code Playgroud)