- How to check the PHP version on Linux
- Some more articles you might also be interested in …
- Как проверить версию PHP
- Проверка версии PHP с помощью phpinfo()
- Проверка версии PHP из командной строки
- Выводы
- phpinfo
- Parameters
- Return Values
- Examples
- Notes
- See Also
- User Contributed Notes 21 notes
- Как узнать версию php
- Просмотр версии в терминале
- Просмотр версии в браузере
How to check the PHP version on Linux
There are several possibilities to check and validate PHP version on Linux.
1. Open a bash shell terminal and use the command “php –version” or “php -v” to get the version of PHP installed on the system.
# php --version PHP 5.4.16 (cli) (built: Mar 7 2018 13:34:47) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
# php -v PHP 5.4.16 (cli) (built: Mar 7 2018 13:34:47) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
As you can see from both the command output above, the system has PHP 5.4.16 installed.
2. You can also check for the package versions installed on the system to get the PHP version.
On RedHat Based Distributions :
# rpm -qa | grep php php-common-5.4.16-43.el7_4.1.x86_64 php-pdo-5.4.16-43.el7_4.1.x86_64 php-mysql-5.4.16-43.el7_4.1.x86_64 php-mbstring-5.4.16-43.el7_4.1.x86_64 php-cli-5.4.16-43.el7_4.1.x86_64 php-gd-5.4.16-43.el7_4.1.x86_64 php-5.4.16-43.el7_4.1.x86_64
On debian based distributions :
# apt list --installed | grep php
3. Let’s create a PHP file with content as shown below. The phpinfo() function outputs a great deal of information about the state of the current PHP environment, including loaded extensions, compilation options, version, server information, and so on.
# echo "<?php phpinfo();?>" > /var/www/html/phpinfo.php
4. Now, considering that Apache is installed and working, open a browser and test PHP using address as follow:
Some more articles you might also be interested in …
Как проверить версию PHP
PHP — один из наиболее часто используемых языков программирования на стороне сервера. Между версиями PHP есть некоторые важные различия, поэтому в некоторых ситуациях может потребоваться знать, какая версия работает на вашем сервере.
Например, если вы обновляете свое приложение или устанавливаете новое, для которого требуется определенная версия PHP, перед началом установки вам необходимо узнать версию вашего PHP-сервера.
В этой статье мы покажем вам, как проверить, какая версия PHP работает на вашем сервере.
Проверка версии PHP с помощью phpinfo()
Самый надежный способ узнать, какая версия PHP используется для этого конкретного веб-сайта, — использовать phpinfo() , которая выводит различную информацию о сервере PHP, включая его версию.
В корневой каталог документов веб-сайта загрузите следующий файл 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, на которой в настоящее время работает ваш сервер.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
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.
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 ( ‘%^.*
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
Как узнать версию php
Язык программирования PHP — один из самых популярных языков для создания веб-сайтов и различных веб-приложений. Когда вы устанавливаете какую-либо систему управления контентом, например, WordPress, Joomla, ModX или что-либо другое, обычно у них есть требование к минимальной версии PHP.
Поэтому часто бывает необходимо узнать версию PHP, установленную на сервере. Это можно сделать несколькими способами, но в обоих случаях у вас должен быть доступ к серверу.
Просмотр версии в терминале
Для того чтобы узнать установленную версию PHP в терминале надо иметь SSH доступ к серверу. Подключитесь к серверу по SSH и выполните такую команду:
Утилита покажет информацию о сборке PHP, а также её версию. Однако, такой способ позволяет узнать версию используемую по умолчанию в консоли или php-cli. Если вы используете какую-либо панель управления сервером, то обычно панели устанавливают свои версии PHP отдельно в папку /opt. Чтобы посмотреть версию PHP установленной панелью надо использовать браузер.
Просмотр версии в браузере
Подключитесь по FTP или по SSH к серверу и перейдите в корневой каталог вашего сайта. Там создайте небольшой скрипт со следующим содержимым:
Затем откройте ваш сайт и допишите в адресной строке адрес этого файла:
Если всё сделано верно, будет выведена огромная таблица с информацией про PHP и установленные расширения, а в самом верху страницы будет версия PHP.
Если вы не хотите выводить всю таблицу с информацией о PHP, то можно вывести только версию с помощью функции phpversion. Например:
Тогда, в результате вы получите такую страницу:
Как видите, проверить версию PHP не так уже и сложно. А какие способы знаете вы? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.