PHP — язык программирования, созданный для веба: его код выполняется на сервере и отдаёт браузеру готовую страницу или ответ для приложения. Начал его в 1995 году Расмус Лердорф как набор скриптов для личной страницы, а дальше язык подхватили Зеев Сураски и Энди Гутманс, и сегодня его развивает сообщество PHP Group. Устанавливая PHP, вы получаете интерпретатор — программу, которая читает ваши файлы с кодом и выполняет их; редактор и веб-сервер ставятся отдельно.
Главная причина, по которой PHP до сих пор везде, — хостинг. На нём работают WordPress, Joomla, Drupal, «1С-Битрикс» и большинство интернет-магазинов, а значит, почти любой виртуальный хостинг поддерживает PHP из коробки: достаточно загрузить файлы по FTP, и сайт уже работает, без настройки служб и запуска процессов. Современный PHP 8 — это не язык из нулевых: в нём есть строгая типизация по желанию, классы с нормальной структурой, встроенный компилятор на лету для ускорения и быстрый менеджер зависимостей.
Что умеет PHP
- Генерация страниц на сервере — код можно вставлять прямо в HTML-шаблон или, как делают сейчас, отделять логику от вывода. Браузер получает только готовый результат, исходный код остаётся на сервере.
- Работа с базами данных — драйверы для MySQL, MariaDB, PostgreSQL, SQLite и SQL Server входят в комплект или ставятся расширением. Единый интерфейс PDO позволяет сменить базу, не переписывая половину проекта.
- Composer — менеджер зависимостей: нужные библиотеки описываются в одном файле и устанавливаются одной командой, а их версии фиксируются, чтобы проект собирался одинаково у всей команды.
- Фреймворки — Laravel, Symfony и Yii берут на себя маршруты, безопасность, работу с базой и шаблоны. Большой сайт на фреймворке поддерживать заметно проще, чем самодельный набор файлов.
- Встроенный веб-сервер — для проверки кода на своём компьютере не нужен Apache или nginx: одна команда поднимает сервер на локальном адресе. Для боевого сайта он не предназначен.
- Классы и типы — свойства и параметры можно типизировать, а в строгом режиме интерпретатор не станет молча превращать строку в число. Это убирает целый класс незаметных ошибок, за которые язык ругали раньше.
- Запуск из командной строки — на PHP пишут не только сайты: ещё скрипты обслуживания, выгрузки и задачи по расписанию.
- Ускорение кода — встроенный OPcache хранит разобранный код в памяти, а компилятор на лету переводит горячие участки в машинный код. Отдельных программ для этого ставить не нужно.
- Расширения и отладка — работа с картинками, архивами, почтой и десятками сервисов подключается готовыми модулями, а расширение Xdebug даёт пошаговую отладку в редакторе.
Важная особенность: ветки PHP поддерживаются ограниченное время, и старые перестают получать исправления безопасности. Стоит следить, какая версия включена на хостинге, и обновляться заранее — большинство проблем «сайт сломался после обновления хостинга» идут от кода, который писали под устаревшую ветку.
Кому подходит
- Тем, кто делает сайты и интернет-магазины: самый короткий путь от кода до работающей страницы на обычном хостинге.
- Владельцам сайтов на WordPress и «1С-Битрикс»: чтобы править шаблон, писать свой плагин или разбираться в ошибке, нужен именно PHP.
- Веб-студиям и фрилансерам: исполнителей и готовых решений на этом языке больше, чем на любом другом языке для сайтов.
- Начинающим: простой старт — файл, браузер, результат — и очень много учебных материалов, в том числе на русском.
Для чего PHP подходит хуже: для настольных и мобильных приложений, для игр, для анализа данных и машинного обучения. Для долгоживущих соединений вроде чатов и игровых серверов есть отдельные решения, но по умолчанию язык устроен иначе: скрипт отрабатывает запрос и завершается.
Плюсы
- Поддерживается почти любым хостингом без настройки
- Огромное количество готовых систем, библиотек и русских учебников
- Низкий порог входа: результат видно сразу в браузере
- Бесплатный и с открытым кодом, включая коммерческие проекты
- Современные версии быстрые: встроенный кэш и компиляция на лету
Минусы
- Много устаревших советов в интернете — легко выучить приёмы из нулевых
- Старые версии языка теряют поддержку, код приходится обновлять
- Стандартная библиотека исторически непоследовательна: порядок аргументов у похожих функций различается
- Не предназначен для настольных программ, игр и анализа данных
Сколько стоит
PHP бесплатен, в том числе для коммерческих сайтов: интерпретатор распространяется с открытым кодом по лицензии PHP License, Composer и популярные фреймворки — тоже. Платить придётся не за язык, а за окружение: хостинг или сервер, где работает сайт, и, при желании, за среду разработки PhpStorm от JetBrains. Бесплатная альтернатива среде — Visual Studio Code с расширениями для PHP.
Как установить
- Решите, нужен ли PHP отдельно. Если вы делаете сайт на WordPress или «1С-Битрикс», проще поставить готовый комплект — XAMPP, Open Server Panel или Laragon: в нём уже есть веб-сервер, база данных и PHP нужной версии.
- Для отдельной установки откройте официальный сайт php.net и скачайте сборку для своей системы. На Windows это ZIP-архив, который нужно распаковать в простую папку без русских букв и пробелов.
- Добавьте папку с распакованным PHP в переменную среды PATH, чтобы команда php работала из любого каталога.
- Скопируйте файл настроек из примера, который лежит в комплекте, назовите его php.ini и включите нужные расширения, убрав точку с запятой в начале строки.
- Проверьте установку командой php -v в терминале и поставьте редактор кода: Visual Studio Code с расширениями для PHP или среду PhpStorm.
Частые вопросы
PHP устарел?
Нет, но устарели советы по нему. Язык развивается, а PHP 8 отличается от версий десятилетней давности скоростью, типами и структурой кода. Проблема в другом: в интернете осталось очень много старых примеров, по которым учиться не стоит. Ориентируйтесь на официальную документацию и свежие материалы.
Чем PHP отличается от Python и Node.js?
PHP создан под один сценарий: получить запрос, отдать страницу и завершиться — поэтому он так хорошо живёт на простом хостинге. Node.js держит постоянно работающий процесс и удобнее для чатов, Python сильнее в анализе данных. Для обычного сайта или магазина готовых решений на PHP больше.
Нужен ли отдельный веб-сервер?
Для учёбы и разработки нет: в PHP есть встроенный сервер для локальной проверки. Для настоящего сайта нужен Apache или nginx — на хостинге они уже настроены, а на своём компьютере проще взять готовый комплект вроде XAMPP или Open Server Panel.
Работает ли PHP из России?
Да. Сайт php.net открывается, сборки скачиваются, регистрация и лицензии не нужны. Библиотеки Composer загружаются из общего каталога по сети; если он недоступен из вашей сети, подключают зеркало или собственный прокси пакетов.
Какую версию PHP выбрать для сайта?
Берите самую свежую ветку, которую поддерживает ваш сайт и хостинг: она быстрее и получает исправления безопасности. Перед переключением версии проверьте копию сайта на тестовом окружении — старые плагины и темы иногда несовместимы.
