Как установить PHP на Linux и macOS
- 18 апреля 2022
- 14 мин
- 44 658
Настроить рабочее окружение для разработки на PHP в Linux возможно несколькими способами. Рассмотрим один из наиболее быстрых: настройка связки PHP и nginx.
Запустите приложение «Терминал». Ярлык на запуск доступен в менеджере приложений. Сначала обновим локальный индекс пакетов APT
sudo apt-get update
Настройка веб-сервера
Для работы с PHP нам потребуется веб-сервер. В репозиториях доступно несколько популярных веб-серверов, мы отдадим предпочтение nginx. Он хорошо работает и легко настраивается.
sudo apt-get install nginx
Затем запустим nginx. Запомните эту команду. Она пригодится для добавления новых виртуальных хостов.
sudo service nginx start
nginx установлен и теперь нам требуется выполнить базовое конфигурирование. Наша цель — создать новый виртуальный хост, который будет доступен по адресу yourproject.local
, где вместо yourproject
может быть название вашего проекта.
Например: doingsdone.local
, yeticave.local
.
Обратите внимание, имена доменов не могут содержать пробелы. Определитесь с именем домена (далее «имя хоста для проекта»). Мы будем ориентироваться на проект yeticave.local
, поэтому именно так будем называть конфигурационный файл. Перейдите в директорию sites-available
. В этой директории nginx хранит конфигурационные файлы всех виртуальных хостов.
cd /etc/nginx/sites-available
Чтобы увидеть список всех доступных виртуальных хостов, выведите содержимое каталога:
ls -all

Название конфигурационного файла должно совпадать с именем хоста. Поскольку мы планируем сделать конфигурационный файл для хоста yeticave.local
, нам потребуется создать файл yeticave.local
. Сделаем это:
sudo touch yeticave.local
Файл готов, теперь откроем его в консольном редакторе nano (установлен по умолчанию в большинстве современных дистрибутивов) и опишем минимальную конфигурацию.
sudo nano yeticave.local
Скопируйте в открытый файл yeticave.local
ниже приведённый конфигурационный файл. Информацию обо всех непонятных строках вы сможете почерпнуть из официальной документации к nginx.
server {
# Наш проект будет доступен на 80 порту
listen 80;
# Имя виртуального хоста
server_name yeticave.local;
# Корневая директория проекта.
root /home/administrator/www/yeticave.local;
# Имя индексного файла.
index index.php;
# Настройки отдачи файлов
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
log_not_found off;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~* \.php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Обратите внимание на номер версии PHP. На момент написания статьи в репозиториях Ubuntu доступна версия 8.1. Если вы пользуетесь более старой версией ОС, то не забудьте обновить номер версии на свой.
Важно: в нашем конфиге файлы находятся в домашней директории пользователя Administrator
. Ваше имя пользователя наверняка отличается, поэтому обратите на это внимание при написании пути.

Для сохранения изменений в файле нажмите комбинацию клавиш ctrl + o. Затем закройте редактор nano сочетанием клавиш ctrl + x.
Протестируем созданный конфигурационный файл на наличие ошибок:
sudo nginx -t

Мы создали конфигурационный файл. Теперь активируем только что созданный виртуальный хост. Для этого перейдём в директорию sites-enabled
и создадим в ней символическую ссылку на наш конфигурационный файл.
cd /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/yeticave.local
Если на текущем шаге попытаться открыть браузер и ввести в адресной строке http://yeticave.local
, то ничего, кроме ошибки «Сервер не найден», мы не увидим. Исправим проблему добавлением новой записи в hosts
:
sudo nano /etc/hosts
В самом начале файла добавьте строку:
127.0.0.1 yeticave.local
Обратите внимание, мы пишем только доменное имя без указания протокола (http). Сохраняем изменения ctrl + o и закрываем редактор nano сочетанием клавиш ctrl + x.
Установка PHP
Последним компонентом в настройке рабочего окружения станет PHP.
Для начала давайте добавим новый репозиторий, который понадобится для установки свежей версии PHP. Этот репозиторий является официальным источником PHP-пакетов для Debian и Ubuntu:
sudo add-apt-repository ppa:ondrej/php
В окне терминала введите команду для установки php-fpm
из репозитория.
sudo apt install php-fpm php-cli php-common php-json php-mysql php-phpdbg php-mbstring php-imap php-dev php-curl php-xdebug
Важно: обязательно обратите внимание на версию PHP. В зависимости от дистрибутива она может отличаться. Если номер версии отличается от той, что мы указали в конфигурационном файле yeticave.local
, то необходимо её исправить.
Настройка xdebug
Вводим команду редактирования файла:
sudo nano /etc/php/8.1/mods-available/xdebug.ini
Добавляем в файл конфигурацию для xdebug:
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.idekey = "PHPSTORM":
Сохраняем изменения ctrl + o и закрываем редактор nano ctrl + x.
Внесём изменения в конфигурационный файл php, чтобы он выводил все ошибки в браузер, а не только в лог-файл.
sudo nano /etc/php/8.1/fpm/php.ini
Найдём, раскомментируем (уберём знак «;» или исправим значение) и установим значения для строк:
display_errors = On
display_startup_errors = On
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Сохраняем изменения ctrl + o, закрываем редактор ctrl + x.
Запускаем php-fpm
. Выполняем команды:
sudo service php8.1-fpm stop
sudo service php8.1-fpm start
Размещаем файлы проекта в директорию проекта. Директорию проекта вы указали в секции root
, конфигурационного файла yeticave.local
. Выставляем права:
sudo chmod -R 755 /home/administrator/www/yeticave.local
Открываем браузер и пробуем обратиться к http://yeticave.local.
Всё готово!
Это архивная версия статьи об установке PHP на macOS.
Некоторая информация в ней устарела, поэтому мы обновили статью — читайте новую версию.
Настройка окружения PHP-разработчика в macOS
Как установить и настроить все необходимые компоненты, чтобы подготовить свой мак к полноценной разработке на PHP.
Пакетный менеджер
Скачивать и устанавливать весь требуемый софт мы будем с помощью пакетного менеджера Homebrew.
Пакетный менеджер — это инструмент, который значительно облегчает процесс установки любых программ. С Homebrew установка программы на компьютер сводится буквально к одной команде в терминале.
Но сам Homebrew тоже требуется установить, так как по умолчанию он не входит в состав операционной системы.
Понятная инструкция по его установке есть на главной странице этой программы. Выполните её и переходите к следующему шагу.
Установка PHP
Начнём с установки PHP-интерпретатора.
Все последующие команды выполняются через терминал.
Установить интерпретатор можно через одну простую команду:
brew install php@7.2
Проверим, что всё установилось корректно:
$ php --version
PHP 7.2.14 (cli) (built: Jan 12 2019 05:21:04) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Установка веб-сервера
PHP — это язык программирования, на котором можно создавать современные сайты. Обработкой запросов пользователей и отдачей им запрошенных страниц занимаются специальные программы — веб-сервера.
PHP работает в тесной связке с веб-сервером, так как именно последний обращается к нему и, в конечном счёте запускает наши сценарии. В общем, без веб-сервера нам никак не обойтись.
Поднять веб-сервер можно с помощью плагинов для редактора или настроить веб-сервер самостоятельно. Рассмотрим оба варианта.
Использование веб-сервера из редактора
Современные редакторы могут самостоятельно запускать сервер. В VS Code это можно сделать через плагин PHP Server, а в PHP Storm через — PHP Debug Server. По ссылкам есть инструкция с настройками. Для того, чтобы сервер стартовал, нужно чтобы локально был установлен php интерпретатор.
Установка nginx
Рассмотрим как установить веб-сервер самостоятельно.
Установим последнюю версию nginx:
brew install nginx
Запускаем nginx, чтобы он работал в фоне и обслуживал наши запросы:
brew services start nginx
Проверяем, что всё установилось корректно, и nginx успешно работает на нашем компьютере:
откройте любой браузер и введите в адресной строке следующий URL:
http://localhost:8080
в ответ вы должны увидеть страницу с текстом «Welcome to nginx!»
Интеграция PHP и веб-сервера
На этом шаге мы «подружим» PHP-интерпретатор и nginx, чтобы при запросе веб-страниц с расширением.php автоматически выполнялся php-сценарий и мы видели результат его работы в браузере.
Мы сделаем простую настройку сервера так, чтобы он слушал одну папку проекта и выдавал результат через запрос на страницу http://localhost/
.
Откройте конфигурационный файл nginx:
nano /usr/local/etc/nginx/nginx.conf
(*) nano — консольный текстовый редактор для Unix и Unix-подобных ОС. Вместо него файлы можно открывать в других редакторах, заменив на nano
на phpstorm
, code
(нужно установить поддержку команды через редактор) для VS Code или другие.
Добавим в конец документа перед закрывающей скобкой от блока http
следующий код:
USERNAME
нужно будет в двух местах заменить на имя вашего пользователя
server {
listen 80;
server_name localhost;
client_max_body_size 20M;
root /Users/USERNAME/Sites/yeticave;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# goes on same line:
fastcgi_param SCRIPT_FILENAME /Users/USERNAME/Sites/yeticave/$fastcgi_script_name;
include fastcgi_params;
}
}
Здесь мы говорим серверу, чтобы он слушал 80 порт страницы localhost
и при запросе показывал содержимое папки yeticave
. После USERNAME вы можете выбрать путь до любой удобной для вас папки.
Разрешим nginx
читать содержимое нашего проекта
sudo chmod -R 755 /Users/USER/Sites/yeticave
(*)Поменяйте USER
на имя вашего пользователя и yeticave
на папку вашего проекта
Для того, чтобы изменения применились на 80 порт, нужно перезагрузить сервер с доступом администратора командой:
sudo brew services restart nginx
Установка xdebug
Установить xdebug можно простой командой:
pecl install xdebug
Проверка работы
Базовая настройка окружения закончена. Осталось проверить, что мы всё сделали правильно.
Создадим тестовый PHP-сценарий со следующим содержимым:
<?php
phpinfo();
Сохраните его по адресу вашего проекта, например, /Users/user/Sites/yeticave
в файл index.php
.
Вновь откройте браузер и перейдите по ссылке http://localhost/index.php. Вы должны увидеть большую страницу с подробной информацией об установленной версии PHP и всех настройках. Это будет означать, что вы всё сделали правильно, а значит готовы писать и запускать свои первые php-сценарии. Обратите внимание, что все файлы и папки проекта при этой конфигурации должны лежать в корне папки yeticave
.
Установка MySQL в macOS
Актуальную версию MySQL для macOS можно загрузить с официальной страницы. Для удобства установки рекомендуется загружать DMG Archive. В этом случае процесс установки будет выполняться с помощью стандартного инсталлятора.

Нажимаем Continue
пока не дойдём до шага Installation Type
. На этом шаге необходимо проверить перечень компонентов для установки. Нажимаем кнопку Customize
. Отмечаем все флаги как на рисунке 2.

Нажимаем Install
. После установки отобразится всплывающее окно с автоматически сгенерированным паролем для пользователя root. Обязательно его запомните. Пример окна с автоматически сгенерированным паролем приведён на рисунке 3. Далее нажимаете кнопку Finish
. На этом установка MySQL завершена.

Сразу после установки служба MySQL не будет запущена. Запуск необходимо выполнить вручную. Проще всего это сделать через аплет System Preferences
. Открываем и запускаем аплет для управления MySQL (рисунок 4). В появившемся окне нажимаем кнопку Start MySQL Server
.


Чтобы протестировать соединение с MySQL и получить возможность выполнять базовые задачи, вам потребуется фирменная утилита от Oracle — MySQL Workbench. Установка утилиты выполняется стандартным для macOS способом: запускаем загруженный DMG и в окне инсталлятора перетаскиваем иконку MySQL Workbench в папку Application.
Для тестирования корректности установки MySQL запустим MySQL Workbench и попробуем установить соединение.

В главном окне MySQL Workbench, в разделе MySQL Connections кликаем по автоматически подготовленному профилю Local instance
. Появится окно ввода пароля. Вводите пароль, который вы сохранили на этапе установки. Если пароль верный, то появится окно с предложением указать текущий пароль и установить новый. Выполните это действие и нажмите Ok
. В случае установки соединения вы увидите окно как на рисунке.

Ещё из рубрики «Статьи»
Мне сложно работать после выходных. Что делать?
Боремся с воспоминаниями о шашлыках.
Что такое CMS и как под них верстать
И что это вообще за системы управления контентом?
Как составить план развития: неочевидные советы
Как расти по плану, а без плана не расти.