Как установить PHP на Windows
Чтобы установить PHP на Windows, скачивают zip-архив с php.net: установщика нет, архив распаковывают и показывают Windows, где он лежит. Инструкция написана для Windows 11, на Windows 10 всё так же. В итоге получится PHP для командной строки, встроенного веб-сервера и Composer — то, что нужно для локального проекта.
Какую сборку PHP скачать
Откройте https://www.php.net/downloads.php?os=windows. У каждой версии PHP несколько архивов, различаются они по названию:
- x64 — для 64-битной Windows, то есть почти для любого компьютера сегодня. Сборок для ARM-процессоров на php.net нет.
- Non Thread Safe (NTS) — для командной строки, встроенного сервера, Composer и FastCGI (IIS, Nginx). Если сомневаетесь, берите её.
- Thread Safe (TS) — только чтобы подключать PHP модулем к Apache.
Значит, для разработки на своём компьютере скачайте VS17 x64 Non Thread Safe самой новой версии, сейчас это PHP 8.5. Файл называется примерно php-8.5.11-nts-Win32-vs17-x64.zip.
Как распаковать PHP и создать php.ini
PHP нужен Microsoft Visual C++ Redistributable. Часто его уже поставила какая-нибудь программа. Если нет, скачайте vc_redist.x64.exe по адресу https://aka.ms/vs/17/release/vc_redist.x64.exe (ссылка с php.net) или поставьте через winget:
winget install --id Microsoft.VCRedist.2015+.x64 -eЩёлкните скачанный архив правой кнопкой, выберите Извлечь все и распакуйте в C:\php так, чтобы php.exe лежал прямо в C:\php. Потом сделайте файл настроек из шаблона для разработки. php.ini-development показывает ошибки на странице — на своём компьютере это то, что нужно. php.ini-production их прячет и рассчитан на серверы.
Copy-Item C:\php\php.ini-development C:\php\php.ini
notepad C:\php\php.iniКак включить curl, mbstring, openssl и другие расширения
Расширения уже лежат в C:\php\ext, но выключены: в php.ini их строки начинаются с ;. В «Блокноте» найдите каждую строку ниже через Ctrl-F и сотрите ; в её начале. Полный путь в extension_dir нужен, чтобы PHP находил расширения из любой папки.
extension_dir = "C:\php\ext"
extension=curl
extension=fileinfo
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=zipСохраните файл. pdo_mysql — для MySQL и MariaDB. Для PostgreSQL включите pdo_pgsql, для SQLite — pdo_sqlite. Composer без openssl не работает, а с zip работает быстрее.
Как добавить PHP в PATH и проверить php -v
- Нажмите Пуск, наберите
переменные средыи откройте Изменение переменных среды текущего пользователя. - В блоке Переменные среды пользователя для <ваше имя> выберите Path и нажмите Изменить.
- Нажмите Создать, впишите
C:\phpи нажмите ОК в обоих окнах.
Откройте новое окно «Терминала» и проверьте версию, расширения и файл настроек:
php -v
php -m
php --iniВерсия начинается с PHP 8.5. В списке расширений должны быть curl и openssl. Проверка --ini должна показать Loaded Configuration File: C:\php\php.ini.
Эти сборки есть и в winget: winget install --id PHP.PHP.NTS.8.5 -e Он сам добавит команду php, но php.ini не создаст: в какую папку его положить, покажет проверка --ini.
Как запустить сайт на встроенном веб-сервере
В PHP есть небольшой веб-сервер для разработки. Перейдите в папку проекта и запустите его. Вместо C:\projects\site подставьте свою папку. Потом откройте в браузере http://localhost:8000. Остановить сервер — Ctrl-C.
cd C:\projects\site
php -S localhost:8000Этот сервер обрабатывает запросы по одному и годится только для своего компьютера. Для настоящего сайта нужен веб-сервер вроде Nginx или IIS с PHP через FastCGI. В Laravel тот же сервер запускает команда:
php artisan serveКак поставить Composer
Composer ставит в проект библиотеки PHP. Для Windows у него свой установщик: скачайте Composer-Setup.exe со страницы https://getcomposer.org/download/ и запустите. Он спросит, какой PHP использовать: если не найдёт сам, укажите C:\php\php.exe. Потом он добавит команду composer в PATH. Если он жалуется на openssl, проверьте это расширение в php.ini. Затем откройте новое окно «Терминала»:
composer -VЕсли PHP не запускается: частые ошибки
'php' is not recognized as an internal or external command, operable program or batch file.— откройте новое окно «Терминала». Если не помогло, проверьте, что в PATH естьC:\php, аphp.exeлежит прямо в этой папке, а не во вложенной.The code execution cannot proceed because VCRUNTIME140.dll was not found.— поставьте Visual C++ Redistributable x64, как описано выше.'vcruntime140.dll' 14.0 is not compatible with this PHP build— Visual C++ Redistributable слишком старый для этого PHP. Поставьте свежий по той же ссылке.PHP Warning: PHP Startup: Unable to load dynamic library 'curl'— PHP не находит расширения. Проверьте строкуextension_dir = "C:\php\ext"вphp.iniи что вы взяли архив x64 для 64-битной Windows.could not find driverпри подключении к базе — выключено нужное расширение PDO. Включитеextension=pdo_mysql(илиpdo_pgsql,pdo_sqlite) и перезапустите сервер.Loaded Configuration File: (none)в выводе проверки--ini— PHP не видит вашphp.ini. Он должен лежать рядом сphp.exeи называться ровноphp.ini, а неphp.ini.txt.
Если вы работаете и на Mac

Сборка мусора в MacWashing находит кэш всех знакомых ей программ, в том числе спрятанный внутри их данных, а ещё журналы, мусор Xcode и остатки удалённых программ. Она показывает, сколько места занимает каждая находка, и очищает всё за один раз. Всё спорное остаётся без галочки, пока вы не решите.
Бесплатная пробная версия · macOS 14 и новее
Вопросы и ответы
Как установить PHP на Windows?
Скачайте с php.net архив x64 Non Thread Safe, распакуйте в C:\php, скопируйте php.ini-development в php.ini, включите нужные расширения и добавьте C:\php в PATH. Затем проверьте версию в новом окне «Терминала»: php -v
NTS или TS — что нужно мне?
NTS — для командной строки, Composer, встроенного сервера, IIS и Nginx. TS — только если подключаете PHP к Apache модулем.
Как обновить PHP?
Скачайте новый архив, сохраните копию своего php.ini, распакуйте новые файлы поверх C:\php и верните php.ini на место. При переходе на новую версию, например с 8.4 на 8.5, сверьте его с новым php.ini-development: настройки между версиями меняются.