Установить PHP и запустить первый скрипт без частых ошибок
За 20–30 минут вы поставите PHP на Windows, macOS или Linux, проверите версию в терминале и запустите первый скрипт через встроенный сервер. Разбираем ошибки, на которых спотыкаются почти все.

К концу этого гайда у вас в терминале выведется версия PHP, а в браузере откроется страница, сгенерированная вашим первым скриптом. На чистой системе это занимает 20–30 минут — большая часть времени уходит не на установку, а на исправление одних и тех же ошибок: PHP не находится в командной строке, файл открывается как текст, встроенный сервер стартует не из той папки. Их и разберём по ходу.
Речь про PHP 8.x (актуальная ветка — 8.3 и 8.4). Команды под Windows 10/11, macOS 13+ и Ubuntu 22.04/24.04.
Что нужно иметь до начала
- Права администратора на компьютере — установка пишет в системные папки и меняет переменную PATH.
- Терминал:
cmdили PowerShell на Windows,Terminalна macOS, любой на Linux. - Текстовый редактор, который не добавляет форматирование. Подойдёт VS Code, Notepad++ или встроенный редактор. Не пишите код в Word или стандартном «Блокноте» с сохранением в
.txt— это первый источник проблем. - 15–20 минут и работающий интернет для загрузки дистрибутива.
Локальный веб-сервер вроде Apache или Nginx на этом этапе не нужен: у PHP есть встроенный сервер для разработки, его хватит для первого скрипта.
Шаг 1. Установить PHP
Windows
- Откройте windows.php.net/download и скачайте архив Thread Safe, версия x64, для PHP 8.3 или 8.4. Это ZIP, а не установщик.
- Распакуйте его в простой путь без пробелов и кириллицы, например
C:\php. Путь видаC:\Users\Иван\Загрузки\phpпозже создаст проблемы. - Добавьте
C:\phpв переменную окружения PATH: «Параметры» → «Система» → «О системе» → «Дополнительные параметры системы» → «Переменные среды» → в разделе Path нажмите «Изменить» и добавьте строку с путём. - Закройте все открытые окна терминала и откройте новое — PATH подхватывается только новыми процессами.
Проверка: в новом окне cmd выполните php -v. Должно вывестись что-то вроде PHP 8.3.x (cli).
macOS
Проще всего через Homebrew. Если менеджера пакетов ещё нет, установите его по инструкции с brew.sh, затем:
# установка последней стабильной ветки PHP
brew install php
# проверка версии
php -vПроверка: команда php -v выводит версию. Если терминал отвечает command not found, перезапустите его или выполните brew link php.
Ubuntu / Debian
# обновляем список пакетов и ставим интерпретатор командной строки
sudo apt update
sudo apt install php-cli
# проверяем
php -vПакет php-cli — это именно интерпретатор для запуска скриптов из терминала и встроенного сервера. Полный пакет php подтянет ещё и модуль Apache, который нам сейчас не нужен.
Шаг 2. Написать первый скрипт
Создайте папку для проекта, например hello-php. Внутри создайте файл index.php с таким содержимым:
<?php
// выводим строку в браузер или в терминал
echo "PHP работает, версия: " . PHP_VERSION;
// PHP_VERSION — встроенная константа с номером версии интерпретатораОбратите внимание: файл начинается с <?php и не обязан иметь закрывающий тег ?>, если в нём только PHP-код. Расширение — строго .php, а кодировка файла — UTF-8 без BOM.
Половина «непонятных» ошибок новичка — это не ошибки PHP, а файл, сохранённый какindex.php.txtили в кодировке с BOM-меткой в начале. Интерпретатор в первом случае файла не находит, во втором — спотыкается на невидимом символе перед<?php.
Шаг 3. Запустить через встроенный сервер
Встроенный веб-сервер PHP появился ещё в версии 5.4 и есть во всех актуальных сборках. Он предназначен только для разработки — в продакшене его не используют.
Перейдите в терминале в папку проекта и запустите сервер:
# переходим в папку со скриптом
cd путь/к/hello-php
# запускаем встроенный сервер на localhost, порт 8000
# документ-рут — текущая папка (точка)
php -S localhost:8000 -t .Терминал ответит строкой вида PHP 8.3.x Development Server (http://localhost:8000) started. Окно закрывать нельзя — пока оно открыто, сервер работает.
Проверка: откройте в браузере http://localhost:8000. Должна появиться строка PHP работает, версия: 8.3.x. Чтобы остановить сервер, вернитесь в терминал и нажмите Ctrl + C.
Запуск скрипта без сервера
Если браузер не нужен, тот же скрипт можно выполнить прямо в терминале:
php index.phpРезультат echo выведется текстом в консоль. Это удобно для простых проверок.
Если не получилось
'php' is not recognized as an internal or external command(Windows) илиcommand not found: php(macOS/Linux). PHP не в PATH или терминал открыт до изменения переменной. Закройте все окна терминала, откройте новое. На Windows проверьте, что путь в PATH указывает на папку сphp.exe, а не на подпапку.- В браузере виден исходный код скрипта, а не результат. Вы открыли файл двойным кликом (протокол
file://) вместо адресаhttp://localhost:8000. PHP обрабатывается только сервером, файловая система код не исполняет. Failed to listen on localhost:8000 (reason: Address already in use). Порт занят другим процессом или уже запущенным сервером. Запустите на другом порту:php -S localhost:8080 -t .Parse error: syntax error, unexpected .... Опечатка в коде: пропущена точка с запятой, кавычка или сам тег<?php. Ещё частая причина — BOM-метка в начале файла: пересохраните его как «UTF-8 без BOM».- Страница пустая, ничего не выводится. Сервер запущен не из той папки, где лежит
index.php, либо файл называется иначе. Проверьте, что вы сделалиcdименно в папку со скриптом, и что имя файла — ровноindex.php.
Что делать дальше
Первый скрипт работает — дальше двигайтесь маленькими шагами. Включите вывод ошибок на время обучения: добавьте в начало скрипта error_reporting(E_ALL); и ini_set('display_errors', '1');, чтобы видеть предупреждения, а не пустую страницу. Затем посмотрите, какие расширения у вас уже установлены, командой php -m — для работы с базами данных или изображениями понадобятся отдельные модули (php-mysql, php-gd и другие). Когда логика скрипта вырастет, стоит поставить менеджер зависимостей Composer — но это уже следующая тема.
Логотип и фирменный стиль: Три концепции разного характера, палитра с обоснованием, проверка на читаемость в малом размере и в один цвет.
Спросить за 60 ₽Источники: PHP: Installation and Configuration — официальная документация, PHP: Built-in web server — руководство
Частые вопросы
У меня PHP 8.1, а в гайде 8.3 — команды сработают?
Нужно ли ставить Apache, Nginx или XAMPP для первого скрипта?
Почему браузер показывает код скрипта вместо результата?
Что делать, если после установки команда php всё равно не находится?
Обязателен ли закрывающий тег ?> в конце файла?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.