Как просто проверить, есть ли у серверов PHP версия 5 или выше?

Я создаю контрольный список для предварительной установки для программы. Программа требует 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'; } 

Существует предопределенная константа:

 echo PHP_MAJOR_VERSION // displays 5 

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'; } 

Выше работает только для PHP <5.2.7, попробуйте вместо этого для более низких версий:

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

Это предлагается в одном из комментариев здесь: http://www.php.net/manual/en/function.phpversion.php#91816

Что-то вроде этого вы сможете адаптировать:

 <?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"; } ?> 

Здесь вы можете увидеть документацию .

См. http://www.php.net/manual/en/function.version-compare.php для примера:

 if (version_compare(PHP_VERSION, '5.0.0', '>=')) { ... 

Если функция phpversion () возвращает ее как прямое число, вы можете сделать следующее:

 if ( phpversion() >=5 ) { echo 'Server has PHP5 or above!'; } else { echo 'Servers PHP version is lower then PHP5'; } 
 echo 'Current PHP version: ' . phpversion(); 

Вы можете получить дополнительную информацию в документации по PHP . Это доступно в PHP4 и более.

 $version = explode('.', phpversion()); $major = (int)$version[0]; $minor = (int)$version[1]; $release = (int)$version[2]; 
 if ( substr(phpversion(),0,1) >= 5) { //php >= 5 }else{ //php < 5 } 

Это было не так сложно, не так ли?

EDIT: Если нас беспокоит версия 10, нарушающая вышеуказанный код:

 if ( strtok(phpversion(),'.') >= 5) { // php >= 5 }else{ // php < 5 } 

На самом деле Symfony2 уже включает такой скрипт. Он находится в app/check.php . Он проверяет как минимум PHP 5.3.2, а также многое другое.

Я предлагаю вам просто использовать это.

echo PHP_VERSION_ID;
//You use version 5.3.7 the output like 50307

или echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION.PHP_RELEASE_VERSION; // Вы используете версию 5.3.7, такую ​​как 537