Установка и смена версий PHP: пошаговая инструкция

Timeweb Cloud
Команда Timeweb Cloud
17 января 2023 г.
Время прочтения: 6 минут

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

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

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

Как установить PHP на сервер

Установить PHP можно вручную или через панель управления, такую как ISPmanager. Разберем оба способа.

Ручная установка

Чтобы установить PHP на Ubuntu Server, совершите следующие действия:

  1. Подключитесь к серверу через SSH.
  2. Обновите список пакетов:
sudo apt update 
  1. Установите необходимые зависимости: 
sudo apt install build-essential libssl-dev
  1. Скачайте скрипт установки с официального сайта, заменив <version> нужной вам версией:
curl -L -O https://www.php.net/distributions/php-<version>.tar.gz
  1. Распакуйте скачанный файл, заменив <version> загруженной версией:
tar xzf php-<version>.tar.gz
  1. Перейдите в директорию с установленным PHP:
cd php-<version>
  1. Настройте скрипт установки:
./configure
  1. Соберите PHP:
make
  1. Установите PHP:
sudo make install

После этого PHP будет установлен на сервер. Осталось установить веб-сервер для работы с языком. Настройка может включать в себя указание модуля PHP в конфигурационном файле веб-сервера и настройку обработки файлов с расширением .php.

В конце перезапустите веб-сервер. Например, для перезагрузки Apache вы можете выполнить следующую команду:

sudo service apache2 restart

ISPmanager: установка php

ISPmanager — это панель управления веб-сервером. Она включает в себя множество функций, таких как управление доменами, аккаунтами пользователей, базами данных, почтовыми ящиками и многое другое. Панель управления может использоваться для настройки сервера, мониторинга ресурсов, а также для обеспечения безопасности и доступа к серверу.

Через ISPmanager вы можете управлять версиями PHP, в том числе и устанавливать дополнительные. Для установки выполните следующие шаги:

  1. Войдите в ISPmanager от имени администратора.
  2. Перейдите в раздел «Конфигурация ПО».
  3. Выберите нужную версию программного обеспечения:

Image1

  1. Нажмите «Установить».
  2. Перезапустите сервер.

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

Есть несколько способов узнать, на какой версии работает сайт:

  • создать в корневой директории сайта скрипт с phpinfo();
  • через терминал.

Узнаем версию через phpinfo()

  1. Создайте файл с именем phpinfo.php со следующим содержимым:
<?php phpinfo();
  1. Сохраните файл в корневой директории веб-сайта (там, где расположен файл index.html или index.php).
  2. Откройте этот файл в браузере, набрав в адресной строке http://адрес_вашего_сайта/phpinfo.php.

Вы увидите страницу такую страницу с подробной информацией:

Dc5c428d 08c2 4582 8e7e 2602c0deec2c

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

Через терминал

Выполните в терминале команду:

php -v

Вы получите подобный вывод:

Image6

Через ISPmanager

В ISPmanager версия PHP, на которой работает сайт, находится в настройках сайта:

Image2

Где находятся настройки версий PHP в ISPmanager

В ISPmanager настройки версий расположены в разделе «Настройки» -> «Настройки PHP». Например, в этом разделе вы можете включить или отключить различные расширения PHP. Обратите внимание, что в ISPmanager вы можете управлять только теми версиями, которые уже установлены на сервере. 

А вот как изменить версию php в ISPmanager:

  1. Перейдите в раздел «Сайты»;
  2. Перейдите в «Настройки сайта»:

Image5

  1. Выберите нужную вам версию:

Image3

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

Как выбрать версию PHP при работе в командной строке (SSH)

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

  1. Убедитесь, что у вас установлено несколько версий PHP. Чтобы увидеть список установленных пакетов, выполните эту команду: 
dpkg --list | grep php
  1. Установите пакет php-switch, который позволяет легко переключаться между установленными версиями PHP: 
sudo apt-get install -y php-switch
  1. Воспользуйтесь командой php-switch, чтобы переключиться между установленными версиями PHP. Например, чтобы переключиться на PHP 7.4, выполните эту команду: 
php-switch 7.4
  1. Проверьте, какая версия PHP сейчас активна, выполнив:
php -v

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

Что делать, если не обрабатываются PHP-скрипты

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

Чтобы узнать, в чем заключается проблема, можно сделать следующее:

  • Проверьте статус сервиса PHP

Для этого выполните команду, используя вашу версию php:

sudo service php7.4-fpm status

Если сервис запущен, то в выводе команды должно быть указано active (running). Если сервис не запущен, то запустите его, используя команду:

sudo service php7.4-fpm start
  • Проверьте лог-файлы PHP

Для этого можно использовать команду:

tail /var/log/php7.4-fpm.log

Эта команда выведет последние строки лог-файла PHP, что может помочь в определении проблемы.

  • Проверьте настройки PHP

Откройте файл php.ini в текстовом редакторе и проверьте, что опция display_errors установлена в значение On. Это позволит отображать ошибки PHP на страницах сайта.

  • Проверьте наличие ошибок в скриптах

Откройте скрипты в текстовом редакторе и поищите в них ошибки синтаксиса или другие ошибки, которые могут привести к неработоспособности скриптов.

  • Проверьте наличие ограничений на работу скриптов в конфигурации web-сервера

Например, в файле .htaccess могут быть указаны ограничения на работу скриптов для определенных директорий.

  • Проверьте работу скрипта на другом сервере

Если скрипты работают на другом сервере, то возможно проблема с конфигурацией текущего сервера.

Заключение

Мы рассмотрели установку PHP на сервер вручную и с помощью популярной панели ISPmanager. Если вы используете другую панель, возможно, вам пригодятся наши инструкции из Базы знаний по настройке PHP в панелях Fastpanel и ISPConfig.

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону