- Home »

Установка PHP 7.4 и настройка локальной среды разработки на Ubuntu 24.04
В этой статье разберёмся, как установить PHP 7.4 и настроить локальную среду разработки на свежайшей Ubuntu 24.04. Почему это вообще актуально? Казалось бы, зачем ставить старую версию PHP, когда есть 8.1, 8.2 и даже 8.3? Всё просто: огромное количество проектов, CMS и фреймворков до сих пор крутятся на 7.4, и если вы хотите поднять тестовую среду, мигрировать старый сайт или просто не хотите ловить баги несовместимости — эта инструкция для вас. Здесь не будет воды, только практические советы, примеры, схемы и реальные кейсы из жизни админов и разработчиков. Погнали!
Как это работает?
PHP — это интерпретируемый язык, который чаще всего используется для написания серверной части веб-приложений. На сервере он работает в связке с веб-сервером (Apache, Nginx) и базой данных (MySQL, PostgreSQL и т.д.). Вся магия происходит на сервере, а клиент получает уже готовый HTML.
Ubuntu 24.04 — свежий релиз, и по умолчанию в репозиториях нет PHP 7.4. Canonical двигается вперёд, но мы-то знаем, что backward compatibility — наше всё. Поэтому придётся немного поколдовать с репозиториями, чтобы получить нужную версию.
Вся настройка локальной среды — это про то, чтобы максимально быстро развернуть рабочий стек: PHP, веб-сервер, база данных, и чтобы всё это работало так же, как на боевом сервере или хостинге. Это позволяет:
- Тестировать проекты локально без риска для продакшена
- Автоматизировать деплой и CI/CD
- Экспериментировать с настройками, не боясь всё сломать
Как быстро и просто всё настроить?
Давайте сразу к делу. Вот пошаговая инструкция, как поставить PHP 7.4 на Ubuntu 24.04, настроить Apache или Nginx, подключить базу данных и получить рабочую dev-среду.
1. Добавляем репозиторий с PHP 7.4
По умолчанию в Ubuntu 24.04 нет PHP 7.4, но есть замечательный репозиторий Ondřej Surý, который поддерживает старые версии.
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
2. Устанавливаем PHP 7.4 и необходимые модули
sudo apt install -y php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-xml php7.4-mbstring php7.4-curl php7.4-zip php7.4-gd php7.4-intl php7.4-bcmath
Если нужен полный стек — добавьте ещё модули по вкусу. Список доступных модулей:
apt-cache search php7.4-
3. Установка и настройка веб-сервера
Выбор между Apache и Nginx — дело вкуса и задач. Для локалки обычно проще Apache, но Nginx тоже несложен.
Веб-сервер | Плюсы | Минусы | Когда выбирать |
---|---|---|---|
Apache | Простая настройка, mod_php, .htaccess, дружит с большинством CMS | Медленнее на высоких нагрузках, больше памяти | WordPress, Joomla, старые проекты |
Nginx | Быстрее, меньше памяти, современный подход, удобен для прокси | Нет .htaccess, чуть сложнее конфиги | Laravel, Symfony, SPA, современные проекты |
Apache
sudo apt install -y apache2 libapache2-mod-php7.4
sudo a2enmod php7.4
sudo systemctl restart apache2
Проверьте, что PHP работает:
php -v
Создайте файл /var/www/html/info.php
с содержимым:
<?php phpinfo(); ?>
Откройте http://localhost/info.php
— если видите страницу с информацией о PHP, всё ок.
Nginx + PHP-FPM
sudo apt install -y nginx php7.4-fpm
sudo systemctl enable --now nginx php7.4-fpm
В конфиге сайта (например, /etc/nginx/sites-available/default
) добавьте:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
Перезапустите nginx:
sudo systemctl restart nginx
4. Установка базы данных
Самый частый выбор — MySQL или MariaDB. Для локалки разницы почти нет.
sudo apt install -y mariadb-server
sudo mysql_secure_installation
Для работы с базой удобно поставить phpMyAdmin:
sudo apt install -y phpmyadmin
5. Composer — must have для PHP
sudo apt install -y composer
Проверьте:
composer --version
Примеры, схемы, практические советы
Вот несколько реальных кейсов, с которыми сталкивался лично или видел на StackOverflow/Habr:
-
Кейс 1: Старый проект на Laravel 6.x
Laravel 6.x требует PHP 7.2–7.4. На Ubuntu 24.04 по умолчанию стоит PHP 8.2, и проект не запускается. Решение — ставим PHP 7.4 по инструкции выше, указываем путь к нужному php вartisan
или черезupdate-alternatives
. -
Кейс 2: Несколько версий PHP для разных проектов
Можно поставить сразу несколько версий PHP (7.4, 8.1, 8.2) из PPA Ondřej Surý. Для Apache используйтеa2dismod
иa2enmod
для переключения, для Nginx — разные сокеты PHP-FPM. -
Кейс 3: Автоматизация через скрипты
Можно собрать bash-скрипт для быстрой установки всего стека на новый сервер или VPS. Это экономит кучу времени при деплое и CI/CD. -
Кейс 4: Проблемы с зависимостями
Иногда при установке старых модулей вылезают конфликты. Решение — использоватьapt-mark hold
для фиксации нужных пакетов, или собирать модули вручную черезpecl
.
Таблица: Сравнение способов установки PHP 7.4
Способ | Плюсы | Минусы | Когда использовать |
---|---|---|---|
PPA Ondřej Surý | Просто, быстро, поддержка обновлений | Иногда ломаются зависимости, неофициальный источник | Локальная разработка, тестовые сервера |
Docker | Изоляция, любая версия, легко менять окружение | Нужно знать Docker, не всегда удобно для GUI | CI/CD, тестирование, разработка в команде |
Сборка из исходников | Максимальная гибкость, можно патчить | Долго, сложно, нет автоматических обновлений | Экзотические задачи, кастомные сборки |
Похожие решения, программы и утилиты
- Docker — для быстрой сборки окружения. Официальные образы: https://hub.docker.com/_/php
- Vagrant — для создания виртуальных машин с нужной версией PHP.
- Laragon, XAMPP, MAMP — для Windows/Mac, если хочется совсем просто.
- phpbrew — менеджер версий PHP, позволяет держать несколько версий параллельно.
Статистика и сравнение с другими решениями
- По данным W3Techs, более 75% сайтов на PHP до сих пор используют версии 7.x и ниже.
- PHP 7.4 — последняя версия с поддержкой многих старых CMS (WordPress, Joomla, Drupal 7).
- Docker-окружения набирают популярность, но для локальной разработки на ноутбуке часто проще поставить всё нативно.
Интересные факты и нестандартные способы использования
- Можно запускать несколько версий PHP параллельно и прокидывать их через разные порты или сокеты — удобно для тестирования миграций.
- PHP 7.4 поддерживает preloading — можно ускорить работу крупных проектов, если правильно настроить
opcache
. - Локальная среда на Ubuntu 24.04 + PHP 7.4 отлично подходит для автоматизации тестов через
phpunit
и интеграции с GitHub Actions. - Для быстрой проверки кода можно использовать встроенный сервер:
php -S localhost:8000
Какие новые возможности открываются и чем это поможет в автоматизации и скриптах?
- Скрипты для автоматической установки окружения на VPS или выделенный сервер — экономия времени при масштабировании.
- Возможность быстро переключаться между версиями PHP для тестирования совместимости.
- Интеграция с CI/CD пайплайнами — можно запускать тесты в нужной версии PHP, не боясь конфликтов.
- Автоматизация деплоя через Ansible, Chef, Puppet — всё работает out of the box, если правильно настроить окружение.
Вывод — заключение и рекомендации
Установка PHP 7.4 на Ubuntu 24.04 — задача не из самых тривиальных, но вполне решаемая. Главное — использовать проверенные репозитории, не бояться экспериментировать и автоматизировать всё, что можно. Локальная среда с нужной версией PHP — это не только про комфорт разработки, но и про безопасность, стабильность и уверенность в том, что проект не развалится после очередного обновления на проде.
Рекомендую использовать PPA Ondřej Surý для быстрой установки, Docker — для изоляции и CI/CD, а для автоматизации — писать свои скрипты или использовать Ansible. Не забывайте про регулярные обновления и бэкапы, даже если это просто локалка. Если нужна VPS или выделенный сервер для боевого окружения — заказать VPS или выделенный сервер можно прямо здесь на блоге.
Удачной настройки, пусть ваши сервера будут быстрыми, а проекты — стабильными!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.