Linux какая версия php

Checking what PHP version I’m running on Linux?

I’m running Centos 5 and I need to know what version of PHP I’m running, is there a command for this which I can run?

4 Answers 4

Try running the following at the command line.

To just get the version information:

It should give you all information you need about the php install.

Just be cautious that the CLI version of PHP (checked from command line) can be different from the one served by your webserver (shown by phpinfo())

@AkshayRaje Exactly. Most people who ask “What PHP version am I using?” are usually referring to the Apache/Nginx PHP module and not the PHP CLI stuff. The PHP CLI info has 100% nothing to do with the PHP module used by Apache/Nginx.

You can make an index.php file with

this has the advantage of working on servers you don’t have ssh access to, though personally I’ve always preferred , just for the futureproofing 😛

On any PHP website one can often see the version in the X-Powered-By header in each PHP generated HTTP response. When you don’t have SSH access, then sometimes phpshell.sourceforge.net can be used. (Though with much care, like one needs to check if a folder is writable before running a tar command.)

First, this is the answer. Most people who ask “What PHP version am I using?” are usually referring to the Apache/Nginx PHP module and not the PHP CLI stuff. The PHP CLI info has 100% nothing to do with the PHP module used by Apache/Nginx. But @Arjan also, many systems administrators disable the “X-Powered-By” header servers send out as part of security hardening. While it seems convenient for developers, headers like that put you on the “sucker list” for botnet attacks. If you run a server and the main way you are determining PHP version is via “X-Powered-By” your process is very flawed.

Источник

Как проверить версию PHP

PHP — один из наиболее часто используемых языков программирования на стороне сервера. Между версиями PHP есть некоторые важные различия, поэтому в некоторых ситуациях может потребоваться знать, какая версия работает на вашем сервере.

Например, если вы обновляете свое приложение или устанавливаете новое, для которого требуется определенная версия PHP, перед началом установки вам необходимо узнать версию вашего PHP-сервера.

В этой статье мы покажем вам, как проверить, какая версия PHP работает на вашем сервере.

Проверка версии PHP с помощью phpinfo()

Самый надежный способ узнать, какая версия PHP используется для этого конкретного веб-сайта, — использовать phpinfo() , которая выводит различную информацию о сервере PHP, включая его версию.

Читайте также:  Shared object files in linux

В корневой каталог документов веб-сайта загрузите следующий файл PHP с помощью клиента FTP или SFTP :

Откройте ваш браузер, перейдите на yourdoman.com/phpinfo.php , и версия PHP-сервера отобразится на вашем экране:

Как только вы узнаете, какая у вас версия PHP, удалите файл или ограничьте к нему доступ. Предоставление публичного доступа к вашей конфигурации PHP может создать угрозу безопасности вашего приложения.

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

php echo 'PHP version: ' . phpversion(); 

Проверка версии PHP из командной строки

Если у вас есть SSH-доступ к серверу, вы можете использовать двоичный файл PHP CLI для определения версии вашего PHP.

Чтобы получить версию сервера, вызовите двоичный файл php с помощью параметра —version или -v :

Команда выведет информацию о версии PHP и завершит работу. В этом примере версия PHP-сервера 7.3.11 :

PHP 7.3.11-1~deb10u1 (cli) (built: Oct 26 2019 14:14:18) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies 

Если на сервере установлено несколько версий PHP, при запуске команды php будет показана версия интерфейса командной строки PHP по умолчанию, которая может не совпадать с версией PHP, используемой на веб-сайте.

Выводы

Определение версии PHP-сервера — относительно простая задача.

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

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

phpversion

Возвращает строку с номером версии текущего PHP-интерпретатора или модуля.

Список параметров

Необязательное имя модуля.

Возвращаемые значения

Возвращает текущую версию PHP в виде строки ( string ). Если в параметре extension указано строковое значение ( string ), phpversion() вернёт версию этого модуля или false , если информации о версии нет или модуль в данный момент не включён.

Список изменений

Примеры

Пример #1 Пример использования phpversion()

// Выводит строку типа ‘Текущая версия PHP: 4.1.1’
echo ‘Текущая версия PHP: ‘ . phpversion ();

// Выводит строку типа ‘2.0’ или ничего, если модуль не включён
echo phpversion ( ‘tidy’ );
?>

Пример #2 Пример использования PHP_VERSION_ID

// 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. Не обязательно пользоваться version_compare()
// каждый раз, когда требуется проверить, поддерживает ли PHP нужную
// нам функцию.
//
// Например, мы можем задать значения констант 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_VERSION
  • version_compare() — Сравнивает две «стандартизованные» строки с номером версии PHP
  • phpinfo() — Выводит информацию о текущей конфигурации PHP
  • phpcredits() — Выводит список разработчиков PHP
  • zend_version() — Получает версию движка Zend

Источник

phpinfo

Outputs a large amount of information about the current state of PHP. This includes information about PHP compilation options and extensions, the PHP version, server information and environment (if compiled as a module), the PHP environment, OS version information, paths, master and local values of configuration options, HTTP headers, and the PHP License.

Because every system is setup differently, phpinfo() is commonly used to check configuration settings and for available predefined variables on a given system.

phpinfo() is also a valuable debugging tool as it contains all EGPCS (Environment, GET, POST, Cookie, Server) data.

Parameters

The output may be customized by passing one or more of the following constants bitwise values summed together in the optional flags parameter. One can also combine the respective constants or bitwise values together with the bitwise or operator.

phpinfo() options

Name (constant) Value Description
INFO_GENERAL 1 The configuration line, php.ini location, build date, Web Server, System and more.
INFO_CREDITS 2 PHP Credits. See also phpcredits() .
INFO_CONFIGURATION 4 Current Local and Master values for PHP directives. See also ini_get() .
INFO_MODULES 8 Loaded modules and their respective settings. See also get_loaded_extensions() .
INFO_ENVIRONMENT 16 Environment Variable information that’s also available in $_ENV .
INFO_VARIABLES 32 Shows all predefined variables from EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE 64 PHP License information. See also the » license FAQ.
INFO_ALL -1 Shows all of the above.

Return Values

Always returns true .

Examples

Example #1 phpinfo() Example

// Show all information, defaults to INFO_ALL
phpinfo ();

// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo ( INFO_MODULES );

Notes

Note:

In versions of PHP before 5.5, parts of the information displayed are disabled when the expose_php configuration setting is set to off . This includes the PHP and Zend logos, and the credits.

Note:

phpinfo() outputs plain text instead of HTML when using the CLI mode.

See Also

  • phpversion() — Gets the current PHP version
  • phpcredits() — Prints out the credits for PHP
  • ini_get() — Gets the value of a configuration option
  • ini_set() — Sets the value of a configuration option
  • get_loaded_extensions() — Returns an array with the names of all modules compiled and loaded
  • Predefined Variables

User Contributed Notes 21 notes

A simple method to style your own phpinfo() output.

ob_start () ;
phpinfo () ;
$pinfo = ob_get_contents () ;
ob_end_clean () ;

// the name attribute «module_Zend Optimizer» of an anker-tag is not xhtml valide, so replace it with «module_Zend_Optimizer»
echo ( str_replace ( «module_Zend Optimizer» , «module_Zend_Optimizer» , preg_replace ( ‘%^.*(.*).*$%ms’ , ‘$1’ , $pinfo ) ) ) ;

This is necessary to obtain a W3C validation (XHTML1.0 Transitionnal).
phpinfo’s output is declared with that DTD :
— «System ID» has the wrong url to validate : «DTD/xhtml1-transitional.dtd» rather than «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»
— Some module names contains space and the function’s output use the name in anchors as ID and NAME. these attributes can’t be validated like that (unique name only).

ob_start (); // Capturing
phpinfo (); // phpinfo ()
$info = trim ( ob_get_clean ()); // output

// Replace white space in ID and NAME attributes. if exists
$info = preg_replace ( ‘/(id|name)(=[«\’][^ «\’]+) ([^ «\’]*[«\’])/i’ , ‘$1$2_$3’ , $info );

$info_doc = new DOMDocument ( ‘1.0’ , ‘utf-8’ );
/* Parse phpinfo’s output
* operator @ used to avoid messages about undefined entities
* or use loadHTML instead
*/
@ $info_doc -> loadXML ( $info );

$doc -> documentElement -> appendChild ( // Adding HEAD element to HTML
$doc -> importNode (
$info_doc -> getElementsByTagName ( ‘head’ )-> item ( 0 ),
true // With all the subtree
)
);
$doc -> documentElement -> appendChild ( // Adding BODY element to HTML
$doc -> importNode (
$info_doc -> getElementsByTagName ( ‘body’ )-> item ( 0 ),
true // With all the subtree
)
);

// Now you get a clean output and you are able to validate.
/*
echo ($doc->saveXML ());
// OR
echo ($doc->saveHTML ());
*/

// By that way it’s easy to add some style declaration :
$style = $doc -> getElementsByTagName ( ‘style’ )-> item ( 0 );
$style -> appendChild (
$doc -> createTextNode (
‘/* SOME NEW CSS RULES TO ADD TO THE FUNCTION OUTPUT */’
)
);

// to add some more informations to display :
$body = $doc -> getElementsByTagName ( ‘body’ )-> item ( 0 );
$element = $doc -> createElement ( ‘p’ );
$element -> appendChild (
$doc -> createTextNode (
‘SOME NEW CONTENT TO DISPLAY’
)
);
$body -> appendChild ( $element );

// to add a new header :
$head = $doc -> getElementsByTagName ( ‘head’ )-> item ( 0 );
$meta = $doc -> createElement ( ‘meta’ );
$meta -> setAttribute ( ‘name’ , ‘author’ );
$meta -> setAttribute ( ‘content’ , ‘arimbourg at ariworld dot eu’ );
$head -> appendChild ( $meta );

// As you wish, take the rest of the output and add it for debugging
$out = ob_get_clean ();

$pre = $doc -> createElement ( ‘div’ ); // or pre
$pre -> setAttribute ( ‘style’ , ‘white-space: pre;’ ); // for a div element, useless with pre
$pre -> appendChild ( $doc -> createTextNode ( $out ));
$body -> appendChild ( $pre );

$doc -> formatOutput = true ; // For a nice indentation
$doc -> saveXML ();

?>

All that could be done with only RegExp but I prefer the use of DOM for manipulating documents

Источник

Оцените статью
Adblock
detector