Узнать версию php fpm
Как проверить версию PHP
PHP — один из наиболее часто используемых языков программирования на стороне сервера. Между версиями PHP есть некоторые важные различия, поэтому в некоторых ситуациях может потребоваться знать, какая версия работает на вашем сервере.
Например, если вы обновляете свое приложение или устанавливаете новое, для которого требуется определенная версия PHP, перед началом установки вам необходимо узнать версию вашего PHP-сервера.
В этой статье мы покажем вам, как проверить, какая версия PHP работает на вашем сервере.
Проверка версии PHP с помощью phpinfo()
В корневой каталог документов веб-сайта загрузите следующий файл PHP с помощью клиента FTP или SFTP :
Как только вы узнаете, какая у вас версия PHP, удалите файл или ограничьте к нему доступ. Предоставление публичного доступа к вашей конфигурации PHP может создать угрозу безопасности вашего приложения.
Проверка версии PHP из командной строки
Если у вас есть SSH-доступ к серверу, вы можете использовать двоичный файл PHP CLI для определения версии вашего PHP.
Команда выведет информацию о версии PHP и завершит работу. В этом примере версия PHP-сервера 7.3.11 :
Если на сервере установлено несколько версий PHP, при запуске команды php будет показана версия интерфейса командной строки PHP по умолчанию, которая может не совпадать с версией PHP, используемой на веб-сайте.
Выводы
Определение версии PHP-сервера — относительно простая задача.
В этом руководстве мы показали несколько различных вариантов того, как найти версию PHP, на которой в настоящее время работает ваш сервер.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Как узнать версию PHP сайта
Есть три способа узнать версию PHP, которая установлена на сервере:
В этой статье мы подробно рассмотрим каждый из трёх способов.
Создать файл info.php
Создайте в корневой папке вашего сайта файл info.php с таким текстом:
После этого введите в адресной строке браузера ваш домен с названием файла через дробь — domen.com/info.php.
В открывшемся окне вы увидите страницу с подробными параметрами вашего сервера. Версия PHP будет в самом верху страницы.
Ввести команду в консоли
Подключитесь к серверу по SSH и введите в консоли такую команду:
Если кроме версии PHP вы хотите увидеть подробное описание параметров сервера, используйте такую команду:
Не пугайтесь большого количества выведенной информации, версия PHP отобразится в первой же строке. По сути эта команда — консольный вариант файла info.php. При помощи неё вы узнаете не только версию PHP, но и подробную информацию о сервере.
Если хотите узнать, какие расширения и PHP-модули установлены на сервере, вам нужна команда:
Использовать панель управления хостингом
Если вы не пользуетесь консолью, можете посмотреть версию PHP в панели управления хостингом. Рассмотрим панели, которые мы предоставляем на виртуальном хостинге и VPS-серверах.
cPanel на виртуальном хостинге
Найдите на главной странице cPanel раздел «Программное обеспечение» и выберите пункт «Выбор версии PHP».
В этом разделе вы увидите текущую версию PHP и включённые модули. Если вам нужна другая версия, выберите её из списка и нажмите «Set as current».
cPanel/WHM на VPS-сервере
Проверить версию PHP можно как в самой WHM, так и в отдельной учётной записи cPanel. В обоих случаях раздел, в котором расположена нужная информация, будет одинаковым.
В WHM найдите в меню слева раздел «Software» и выберите пункт «MultiPHP Manager». На открывшейся странице вы увидите текущую версию PHP для всего сервера и сможете изменить её для конкретного домена.
В cPanel перейдите в нужную учётную запись, найдите раздел «Software» и перейдите в «MultiPHP Manager».
Вы найдёте текущую версию PHP в начале страницы. Здесь же вы можете её изменить. Для этого выберите нужную версию из выпадающего списка и нажмите «Apply».
Webuzo
Найдите на главной страницу раздел «Advanced Settings» и выберите пункт «Default Apps».
На следующей странице вы увидите, какие версии PHP доступны. Напротив текущей версии будет стоять флажок.
ISPmanager Lite 5
Найдите в меню слева раздел «Домены» и выберите пункт «www-домены». В таблице с доменами будет колонка «Версия PHP».
DirectAdmin
Функционал этой панели управления разделён на три уровня: «Admin», «Reseller» и «User». Чтобы проверить версию PHP на сервере, перейдите на уровень «Admin». Затем в меню ниже найдите раздел «System Info & Files» и выберите пункт «System information».
Откроется страница с техническими параметрами сервера. Версия PHP будет в самом конце страницы.
Настройка PHP-FPM
Интерпретатор языка программирования PHP может работать в нескольких режимах. Он может быть интегрирован в веб-сервер в виде специального модуля или использоваться как отдельный сервис php-fpm. Аббревиатура FPM расшифровывается как Fastcgi Process Manager. Это сервис, который запускает несколько процессов, которые могут выполнять PHP скрипты. Процессы могут получить скрипты, которые надо выполнить по TCP или Unix сокетам.
Обычно php-fpm используется вместе с веб-сервером Nginx. В этой статье мы рассмотрим как выполняется настройка PHP-FPM для максимально эффективной работы на вашем сервере.
Настройка PHP-FPM
Менеджер процессов PHP-FPM может запускать несколько процессов обработчиков. Обычно для каждого отдельного сайта принято использовать отдельный обработчик, это позволяет распределить нагрузку и отслеживать статистику по каждому сайту. Поэтому есть общий конфигурационный файл php-fpm и конфигурационный файл для каждого обработчика, который обычно называется конфигурационным файлом пула. Обработчик принято называть пулом потому что на самом деле обработкой занимается не один процесс, а целая группа процессов, у каждого из которых есть несколько потоков. Всё это обеспечивает быстрое выполнение скриптов.
1. Установка компонентов
Сервис php-fpm поставляется вместе с интерпретатором php. Установка php-fpm Ubuntu выполняется такой командой:
sudo apt install php-fpm
Кроме того нам понадобится веб-сервер Nginx, потому что php-fpm чаще всего используется вместе с этим веб-сервером:
sudo apt install nginx
2. Конфигурационные файлы
В этой инструкции мы будем рассматривать настройку PHP-FPM на примере Ubuntu. Основной конфигурационный файл находится в такому пути:
Обратите внимание, что это не php.ini файл, а файл настройки именно FPM процессов. Файл php.ini находится в этой же папке:
А вот файлы конфигурации пулов находятся в каталоге /etc/php/7.4/fpm/pool.d/. По умолчанию там находится файл пула по умолчанию www.conf:
Вы можете использовать его в своей конфигурации или копировать для создания новых пулов.
3. Создание пула
Скопируйте файл пула, например losst.conf в папке /etc/php/7.4/fpm/pool.d/ скопируйте в него содержимое файла www.conf. В конце статьи я приведу полностью рабочий конфигурационный файл, но лучше всё же использовать конфигурацию вашей версии PHP:
cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/losst.conf
Теперь откройте этот файл в текстовом редакторе, например в vim:
sudo vi /etc/php/7.4/fpm/pool.d/losst.conf
Далее надо изменить группу и пользователя, от имени которых будут запускаться процессы пула. Это важно, поскольку у процесса должен быть доступ к файлам PHP, которые надо выполнить. Обычно в Ubuntu для таких целей используется пользователь и группа www-data. От имени этого же пользователя обычно запускается веб-сервер:
Обычно, если вы получаете ошибку permission denied при интерпретации php файлов в php-fpm, означает, что процесс php-fpm запущен от имени не того пользователя или включена строгая политика SELinux.
4. Настройка сокета
Если вы используйте файловый сокет, к нему должен быть доступ у веб-сервера, поэтому надо сделать владельцами файла того пользователя и группу, от имени которых запущен веб-сервер, в данном случае www-data и дать им все права на него:
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
Если сокет сетевой, то в этом нет необходимости. Для сетевого сокета можно дополнительно указать с каких адресов можно к нему подключаться. Например, только от 127.0.0.1:
5. Настройка процессов
С помощью параметра pm можно настроить сколько дочерних процессов будет запускаться для этого пула и когда. Есть три режима работы:
Режим static не выгоден, потому что вне зависимости от нагрузки потребляется много памяти и процессорного времени на поддержание работы процессов. Более интересны режимы ondemand и dynamic. Давайте будем использовать режим dynamic. Этот режим имеет три настройки:
Для режима static надо указать только pm.max_children. Для режима ondemand кроме pm.max_children надо указать pm.process_idle_timeout этот параметр означает через какой промежуток времени простоя процесс будет завершен.
Давайте разберемся с режимом dynamic. Запускать много дочерних процессов при старте не надо, в большинстве случаев 2-3 будет достаточно:
Минимальное количество процессов в режиме ожидания тоже большое не нужно, это запас, чтобы php-fpm смог быстро обработать новые запросы не тратя время на запуск новых процессов. Однако это значение должно быть не меньше pm.start_servers, иначе ничего не заработает:
Максимальное количество процессов определяет как быстро процессы будут завершаться при падении нагрузки, можно оставить 10 процессов:
Параметр pm.max_children настройте под себя, обычно достаточно 20-30 процессов, но всё зависит от нагрузки и количества оперативной памяти, если памяти мало лучше пожертвовать производительностью и установить меньшее значение:
Почти готово. Но есть ещё одна проблема. Если дочерние процессы работают слишком долго, в них накапливаются утечки памяти, и рано или поздно на сервере память закончится. Чтобы этого избежать можно настроить автоматическое завершение процесса после выполнения определённого количества запросов, например, 1000:
6. Настройка статистики
Для подбора оптимального значения pm.max_children вам может понадобиться посмотреть статистику в реальном времени сколько процессов запущено, сколько из них находится в ожидании, а также какая длина очереди ожидающих выполнения запросов. Для включения вывода статистики просто добавьте такую строчку:
7. Настройка php.ini
php_admin_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.losst.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
Когда все настройки завершены, не забудьте сохранить изменения и перезапустить php-fpm:
sudo systemctl restart php7.4-fpm
8. Настройка веб-сервера
Для того чтобы всё протестировать придётся настроить ещё и веб-сервер. В конфигурационный файл виртуального хоста Nginx надо добавить такие строки:
Последняя директива fastcgi_pass указывает как надо передавать данные php-fpm, сюда можно передать путь к файлу сокету, на котором слушает сервис или IP адрес и порт. В данном случае используется ранее настроенный 127.0.0.1:9000. После завершения настройки перезапустите Nginx:
sudo systemctl restart nginx
Теперь вы можете открыть в браузере страницу статистики, как видите всё работает:
Можно ещё создать файл phpinfo.php с текстом в каталоге веб-сервера и посмотреть настройки php, например, memory_limit, заданный в файле конфигурации пула работает:
Настройка веб-сервера может очень сильно отличаться в зависимости от ваших требований. Здесь приведен только общий пример, чтобы проверить работоспособность и верность настройки.
Как узнать версию php
Часто нужно знать версию PHP, так как от этого зависит работоспособность скриптов. Также при написании кода следует учитывать, на какой версии PHP работает ваш локальный сервер.
Версию PHP можно узнать несколькими способами. Давайте перейдём к делу.
Функция phpversion
Вот простой пример её использования:
Но то же самое можно сделать и другими способами.
Предопределённая константа PHP_VERSION
Вот простой пример её использования:
Константа PHP_VERSION содержит текущую версию PHP в виде строки в формате «major.minor.release[extra]». Сначала «основная» (major), затем «промежуточная» (minor) версия, затем «релиз»-версия (release) версия PHP.
Последняя необязательно существующая часть строки – текущая «экстра»-версия PHP в виде строки (например, ‘-extra’ для версии «5.2.7-extra»). Обычно эта информация используется в различных дистрибутивах для индикации версий пакетов.
Также в PHP есть возможность получить доступ к каждой части формата «major.minor.release[extra]». Для этого есть соответствующие константы. Давайте рассмотрим их.
Другие предопределённые константы
Константа PHP_MAJOR_VERSION – текущая «основная» (major) версия PHP в формате целого числа (например, int(5) для версии «5.6.12»). Доступна начиная с версии PHP 5.2.7..
Константа PHP_MINOR_VERSION – текущая «промежуточная» версия PHP в формате целого числа (например, int(6) для версии «5.6.12»). Доступна начиная с версии PHP 5.2.7.
Константа PHP_RELEASE_VERSION – текущая «релиз»-версия (release) PHP в формате целого числа (например, int(12) для версии «5.6.12»). Доступна начиная с версии PHP 5.2.7.
Константа PHP_EXTRA_VERSION – текущая «экстра»-версия PHP в виде строки (например, ‘-extra’ для версии «5.2.7-extra»).
Просто пример работы этих констант:
Предопределённая константа PHP_VERSION_ID
Константа PHP_VERSION_ID содержит текущую версию PHP в формате целого числа.
Вот пример её использования:
Константу PHP_VERSION_ID удобно использовать при сравнениях версий PHP.
Функция phpinfo
Как узнать версию PHP на сервере
PHP – это скриптовый язык, который используется преимущественно при разработке приложений. С его помощью можно отправлять формы, работать с базами данных, использовать сессии, cookies и многое другое. От версии PHP, установленной на сайте или сервере, зависит то, как и какие возможности языка вы сможете использовать в проекте.
Поговорим о том, как узнать версию PHP сайта и сервера, причем разберем несколько способов.
Создание файла info.php и перемещение его на сервер
Сначала пробуем создать файл с прописанным содержимым. С его помощью мы определим конфигурацию интерпретатора PHP. Сделать это, кстати, можно двумя способами – на компьютере (а затем скопировать файл в корень сайта) или же сделать все прямо в файловом менеджере.
Первый способ: Открываем любой блокнот или редактор кода (лучше всего), потом вписываем в него вот такое значение:
Сохраняем это и даем название документу – info.php.
Второй способ: Открываем файловый менеджер через панель управления и переходим в корневую папку. Путь к ней – /wordpress/public_html. Жмем по пункту «Файл», в выпадающем меню выбираем элемент «Новый файл».
Теперь указываем название и формат будущего файла.
Вписываем в содержимое вот такое значение:
Потом сохраняем изменения нажатием на соответствующую кнопку и закрываем окно.
Теперь переходим к проверке. Для этого надо открыть новую вкладку в браузере и ввести там такую ссылку:
Здесь site.com нужно заменить ссылкой на ваш сайт (пример на скриншоте), затем перейти по нему нажатием на кнопку Enter. Откроется страница, на которой в левом верхнем углу отобразится версия PHP.
Просмотр версии PHP на сайте хостинга
Можно узнать версию PHP на хостинге TimeWeb, причем не просто посмотреть, но и изменить ее. Открываем в панели управления раздел «Сайты». По сути все, версию узнали, но не так подробно, как хотелось бы (сравните с другими примерами).
Дальше можно нажать на зеленую иконку с изображением шестеренки и тем самым перейти в настройки. Откроется новое окошко, где можно выбрать версию PHP и Python.

































