Есть ли способ проверить версию PHP, которая выполнила конкретный script изнутри script? Например, следующий фрагмент
$version = way_to_get_version();
print $version;
будет печатать 5.3.0 на одной машине и 5.3.1 на другой машине.
Есть ли способ проверить версию PHP, которая выполнила конкретный script изнутри script? Например, следующий фрагмент
$version = way_to_get_version();
print $version;
будет печатать 5.3.0 на одной машине и 5.3.1 на другой машине.
$version = phpversion();
print $version;
Однако для лучшей практики я бы использовал константу PHP_VERSION
. Нет служебных накладных расходов и более чистого ИМО.
Кроме того, не забудьте использовать version_compare()
, если вы сравниваете версии PHP для совместимости.
Вы можете использовать функцию phpversion()
или константу PHP_VERSION
.
Для сравнения версий вы всегда должны полагаться на version_compare()
.
Технически лучший способ сделать это с константой PHP_VERSION, так как она не требует вызова функции и накладных расходов, связанных с ней.
echo PHP_VERSION;
константы всегда быстрее вызовов функций.
Посмотрите phpversion().
echo "Current version is PHP " . phpversion();
http://us.php.net/manual/en/function.phpversion.php
Возвращает именно "5.3.0".
phpversion()
сообщит вам текущую версию PHP.
.........
if (version_compare(phpversion(), '5', '>='))
{
// act accordintly
}
phpversion()
- один из способов. Как сказал Джон Конде, PHP_VERSION
- это другое (о котором я до сих пор не знал).
Вы также можете быть заинтересованы в function_exists()
Вы можете получить версию PHP с помощью буфера из phpinfo().
ob_start();
phpinfo();
$string = ob_get_contents();
ob_end_clean();
$pos = strpos($string,"PHP Version");
$phpver = substr($string,$pos,20);
echo $phpver;
Если вы выберете вывод phpversion() в число с плавающей запятой, он предоставит вам основные и второстепенные части. Таким образом, вы можете легко реализовать совместимость с PHP.
$version = (float)phpversion();
if ($version > 7.0) {
//do something for php7.1 and above.
} elseif ($version === 7.0) {
//do something for php7.0
} else {
//do something for php5.6 or lower.
}