Как узнать версию php

Введение

В этой небольшой статье я хочу показать как определить версию php без доступа к сайту, то есть не ни каких прав на создание и редактирование скриптов на хостинге или сервере.
Для того, чтобы узнать версию php нам достаточно знать только адрес сайте. Все дело в том, что сервер самостоятельно формирует заголовки страниц и если владелец сайта умышлено не отключает данную опцию, то мы сможем без труда получить информацию о версии php из заголовков. Вот, например, такую информацию можно получить из заголовков, которые формируются сервером, на котором находится этот блог:

array(14) { => string(15) «HTTP/1.1 200 OK» => string(13) «Server: nginx» => string(35) «Date: Sat, 05 Apr 2014 18:15:21 GMT» => string(38) «Content-Type: text/html; charset=UTF-8» => string(17) «Connection: close» => string(21) «Vary: Accept-Encoding» => string(24) «X-Powered-By: PHP/5.3.18» => string(38) «Expires: Thu, 19 Nov 1981 08:52:00 GMT» => string(77) «Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0» => string(16) «Pragma: no-cache» => string(40) «X-Pingback: http://vk-book.ru/xmlrpc.php» => string(47) «Link: <http://vk-book.ru/?p=691>; rel=shortlink» => string(62) «Set-Cookie: PHPSESSID=04298353f84df404bfbc5e0fa7b32929; path=/» => string(21) «Content-Length: 17293» }

Смысл решения понятен, остается его только реализовать: получаем заголовки и вытаскиваем из полученного массива информацию «X-Powered-By»

Код. Как определить версию php без доступа к сайту

Для удобства решение оформлено в функцию:

/** * Определяем на чем работает сайт * * @var $url — string URL сайта * * @return — string результат проверки */ function getPoweredBy($url){ $tmp = parse_url($url); $stream = @fopen($url, ‘rb’); // открываем сайт if(!$stream){ return «Сайт не отвечает!»; } $array = stream_get_meta_data($stream); // получаем заголовки $info = false; // находим информацию о X-Powered-By foreach($array as $k=>$v){ if(strpos($v, ‘X-Powered-By:’) !== false){ $info = explode(‘X-Powered-By:’, $v); } } // вернем результат if($info){ $powered_by = trim($info); return $powered_by; }else{ return «Не известно!»; } }

И пример использования этой функции:

15.11.18 PHP 89

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

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

Список наиболее популярных версий PHP на сегодняшний день:

  • PHP 5.3
  • PHP 5.4
  • PHP 5.6
  • PHP 7.0
  • PHP 7.1

Не стоит использовать старые версии PHP, хотя они и доступны на многих хостингах и в сборках локальных серверов. Код лучше сразу писать под новую версию – это избавит от проблем с безопасностью и улучшит производительность проекта. Версии PHP ниже 5.6 использовать крайне нежелательно, так как они безнадежно устаревают. Множество проектов сегодня еще работает на версии PHP 5.6 – это своеобразная золотая середина. Но данная версия также устаревает (или точнее уже устарела), поэтому необходим перенос на более новую версию — PHP 7.

Почему стоит переходить на PHP7? Эта версия имеет важные изменения и новые возможности написания кода, повышенную безопасность и увеличенную производительность. По некоторым данным PHP7 в 2 раза быстрее PHP5 — это отличный способ ускорить свой сайт без особых затрат.

В 2015 году вышла новая версия PHP — 7.0. Препроцессор был переписан с нуля, что улучшило производительность почти в два раза. Также были исправлены старые ошибки и уязвимости.

Многие CMS уже поддерживают PHP 7, но есть программы, которые еще не обновили. Поэтому мы расскажем, как узнать и поменять версию PHP на хостинге.

Для этого, вам понадобится хостинг с cPanel или ISPManager

Проверка версии PHP через файл info.php

В PHP есть функция, которая показывает статус установки, текущую конфигурацию и версию. Но по умолчанию эта функция нигде не применяется. Чтобы определить версию PHP:

  • Создайте текстовый документ. Если у вас хостинг с cPanel — поместите его в папке public_html, если с ISPmanager — в www.
  • Откройте этот документ и впишите туда:<?php phpinfo(); ?>
  • Сохраните файл и переименуйте его в info.php.
  • Откройте браузер и введите в адресную строку ваш_сайт.домен/info.php. Например,
  • Нажмите Enter.

Вы увидите страницу статуса PHP. Выглядит она примерно так:

Проверка и изменение версии PHP в cPanel

Если на вашем хостинге установлена cPanel, вы можете проверить версию PHP через панель управления.

  • Залогиньтесь в cPanel.
  • Во вкладке Программное обеспечение, кликните на кнопку Выбор версии PHP.
  • Откроется новая страница, на которой вы увидите текущую версию PHP. Чтобы сменить версию — выберите из списка другую и нажмите Сделать текущей. Также на этой странице можно включить или отключить модули PHP.
  • Когда вы закончите перенастройку PHP — нажмите Сохранить.

Информация и изменение версии PHP на хостинге с ISPmanager

Если на вашем хостинге установлен ISPmanager, версию PHP можно проверить и изменить через панель управления.

  • Залогиньтесь в ISPmanager.
  • В разделе WWW, кликните на пункт PHP.
  • На новой странице вы увидите текущие версии PHP на вашем хостинге. В этом примере их две, потому что для обработки CGI мы используем версию 5.3, а серверу Nginx нужен PHP 5.4. ISPmanager позволяет использовать разные версии PHP для разных компонентов панели.
  • Чтобы изменить версию PHP, нажмите на кнопку Версия PHP и выберите новую. ISPmanager поддерживает версии 5.2-5.6. Версии 4.4, 5.1 и 7.0 доступны на хостинге с cPanel.
  • Нажмите ОК.

ВНИМАНИЕ! В старых версиях PHP есть уязвимости, которыми могут воспользоваться хакеры. Поэтому использовать версии PHP старше, чем 5.4 нужно только в крайнем случае.

По умолчанию, на хостинге Unihost установлена версия PHP 5.5. Она поддерживается всеми современными CMS и не содержит очевидных уязвимостей. Но если вам действительно важна безопасность — мы советуем использовать PHP 7. Эта версия быстрее и безопаснее, но может не поддерживаться некоторыми CMS.

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

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

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

Проверка версии PHP с phpinfo()

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

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

phpinfo.php <?php phpinfo();

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

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

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

phpversion.php <?php echo ‘PHP version: ‘ . phpversion();

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

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

Чтобы получить версию сервера, вызовите php, используя опцию –version или -v:

php —version

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

PHP 7.2.24-0ubuntu0.18.04.1 (cli) (built: Oct 28 2019 12:07:07) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.24-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

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

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *