Давай честно: PHP нужен не потому что он "великий и могучий", а потому что половина мира до сих пор крутится на WordPress, Laravel и прочей старой, но живой кодобазе.
Да, есть Python, Go, Rust — красиво, модно. Но когда на проекте Apache или Nginx, а дедлайн горит, тебя вообще не спрашивают, "а может мы перепишем всё на Django?".
Тебе говорят: "Ставь PHP. Прямо сейчас".
И ты идёшь в терминал. Без пафоса, без огоньков на экране, с усталой решимостью.
Часть 1: PHP + Apache — быстро и по-стариковски
Если у тебя Apache — значит, тебе повезло/не повезло (вычеркни лишнее). Apache жрёт оперативу, но умеет жевать PHP без дополнительных выкрутасов.
Открывай терминал и по старой схеме:
sudo apt update
sudo apt install php libapache2-mod-php
Всё, PHP в системе. Но нет, радоваться рано — перезапусти Apache, иначе он будет стоять в углу и делать вид, что PHP не существует:
sudo systemctl restart apache2
Apache — как старый админ: если ему не сказать "перезапустись", он будет сидеть в кэше и плевать в потолок.
Часть 2: PHP + Nginx — без FPM никуда
С Nginx другая история. Этот парень не будет сам парсить PHP, ему нужен помощник — PHP-FPM (менеджер процессов fastCGI).
Команды:
sudo apt update
sudo apt install php-fpm
После установки FPM обычно сам стартует, но проверь, чтобы не бегать потом с криками:
systemctl status php7.4-fpm
Если там "active (running)" — живём. Если нет, готовься шаманить.
Часть 3: Расширения PHP — без них никуда
PHP сам по себе — как отвертка без насадок: что-то открутишь, но половина задач останется на потом.
Нужно расширение для MySQL? GD для работы с картинками? Просто ставишь:
sudo apt install php-[имя_расширения]
Например:
sudo apt install php-mysql php-gd
После этого опять — перезапуск Apache или PHP-FPM, иначе расширение будет лежать в системе мёртвым грузом.
Часть 4: Старые версии PHP — когда проект застрял в прошлом
Да, это ад. Но есть репозиторий от Ondřej Surý, в котором лежат старые версии. Иногда без них никуда, особенно если тебе достался проект с кодом 2010-го, который боится PHP 8, как кошка пылесоса.
Подключаем репозиторий:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Дальше ставим нужную версию:
sudo apt install php[версия]
Пример:
sudo apt install php7.1 php7.1-common php7.1-opcache php7.1-mcrypt php7.1-cli php7.1-gd php7.1-curl php7.1-mysql
Скажу честно — старые версии PHP ставить больно. Не только потому, что это костыль, а потому, что ты как бы сам подписываешь себе приговор — с этим кодом придётся жить.
Заключение
PHP на Ubuntu — это не магия, это просто чёткая последовательность команд. Ошибся — получишь "502 Bad Gateway" или белый экран смерти. Успешно поставил — и забудь про это на пару лет (если повезёт).
А ещё запомни: чем меньше ты лазишь в продакшн с обновлением PHP, тем дольше ты живёшь без лишнего геморроя.
0 комментариев