2010-01-22 3 views
35

Есть ли способ проверить версию PHP, которая выполнила конкретный скрипт из этого скрипта? Так, например, следующий фрагментКак получить версию PHP?

$version = way_to_get_version(); 
print $version; 

печатает 5.3.0 на одной машине и 5.3.1 на другой машине.

+10

Кстати, если вы Google для 'PHP version', ссылка на документацию' phpversion() 'это первый результат ... –

+0

Примечание: http://www.php.net/manual/en /function.phpversion.php#84424 – RobertPitt

+0

@FelixKling печальные времена, когда этот вопрос SO выше в Google, чем фактическая документация. – Greg

ответ

52
$version = phpversion(); 
print $version; 

Documentation

Однако, для наилучшей практики, я хотел бы использовать константу PHP_VERSION. Нет накладных расходов на функции и более чистого ИМО.

Кроме того, убедитесь, что используете version_compare(), если вы сравниваете версии PHP для обеспечения совместимости.

+3

Это просто называется 'version_compare()'. –

+1

Спасибо, вот что я могу вспомнить из памяти! – alex

+0

http://www.php.net/manual/en/function.phpversion.php#84424 Я бы всегда использовал 'PHP_VERSION' для лучшей практики – RobertPitt

6

Технически лучший способ сделать это - с постоянным PHP_VERSION, поскольку он не требует вызова функции и накладных расходов, которые прилагаются к ней.

echo PHP_VERSION; 

константы всегда быстрее, чем функциональные вызовы.

+0

Переменные ?! Это постоянный! –

+2

lol. Конечно, если вы хотите получить ТЕХНИЧЕСКИЙ! –

+7

На веб-сайте программирования да, я бы предпочел получить техническую информацию. – Matchu

13

Вы можете использовать функцию phpversion() или постоянную PHP_VERSION.

Для сравнения варианты вы всегда должны положиться на version_compare().

+0

"* Для сравнения версий вы всегда должны полагаться на version_compare() . * «Зачем добавлять почему? (запрашивать, а не намекать, что вы неверны) – James

+1

@James: 'version_compare()' просто более мощный, чем арифметические операторы: http://ideone.com/0QQwq7. В руководстве по PHP есть несколько хороших примеров. –

+0

k спасибо, сделают некоторые рытье! – James

1

phpversion() - один способ. Как сказал Джон Конде, PHP_VERSION - это еще один (о котором я до сих пор не знал).

Вы также можете быть заинтересованы в function_exists()

3

.........

if (version_compare(phpversion(), '5', '>=')) 
{ 
     // act accordintly 
} 
+0

Это то, что мне нужно – NaveenDA

-1

Если вы типаж выход 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. 
} 
+0

Вы действительно должны использовать 'version_compare()', поскольку для этого он предназначен. – Laurence

Смежные вопросы