Встановлення Homebrew
Завантажувати і встановлювати весь необхідний софт ми будемо за допомогою пакетного менеджера Homebrew.
Пакетний менеджер — це інструмент, який значно полегшує процес встановлення будь-яких програм. З Homebrew встановлення програми на комп'ютер зводиться буквально до однієї команди в терміналі.
Але сам Homebrew теж потрібно встановити, оскільки за замовчуванням він не входить до складу операційної системи. Процес встановлення займає деякий час, тож доведеться почекати.
Зрозуміла інструкція з його встановлення є на головній сторінці цієї програми — https://brew.sh.
Усі наступні команди виконуються через термінал. Зверніть увагу: після встановлення brew потрібно виконати дві команди з розділу next steps, щоб додати Homebrew у PATH. Команди залежатимуть від імені користувача на комп'ютері, у нашому випадку вони такі. Скопіюйте їх із терміналу та виконайте по черзі.
Виконайте і переходьте до наступного кроку.
Встановлення PHP
Почнемо зі встановлення PHP-інтерпретатора. Ми використовуємо останню версію PHP на момент виходу статті: PHP 8.
За замовчуванням homebrew вже містить потрібний пакет, тому залишається виконати лише команду встановлення:
brew install php
Перевіримо, що все встановилося коректно:
php --version
PHP 8.0.11 (cli) (built: Sep 26 2021 20:58:36) ( NTS )
Copyright © The PHP Group
Zend Engine v4.0.11, Copyright © Zend Technologies
with Zend OPcache v8.0.11, Copyright ©, by Zend Technologies
Зверніть увагу: якщо ви бачите повідомлення, що встановлено не версію 8, а щось таке, то перезапустіть термінал і спробуйте виконати php --version ще раз.
WARNING: PHP is not recommended
PHP is included in macOS for compatibility with legacy software.
Future versions of macOS will not include PHP.
PHP 7.3.29-to-be-removed-in-future-macOS (cli) (built: Aug 30 2021 10:56:09) ( NTS )
Тепер запустіть php-fpm:
brew services start php
Якщо все пройшло добре, то ви побачите таке повідомлення:
==> Successfully started `php` (label: homebrew.mxcl.php)
Встановлення веб-сервера
Веб-сервер обробляє запити користувачів і віддає їм запитані сторінки. Без веб-сервера робота з PHP не має сенсу, тож тепер потрібно встановити його.
Веб-сервер можна встановити за допомогою плагінів для редактора або налаштувати самостійно. Розглянемо обидва варіанти.
Використання веб-сервера з редактора
Редактори коду можуть самостійно запускати сервер. У VS Code це можна зробити через плагін PHP Server, а в PhpStorm через — PHP Debug Server. За посиланнями є інструкція з налаштуваннями. Для того, щоб сервер стартував, потрібно щоб локально був встановлений PHP інтерпретатор.
Самостоятельная установка веб-сервера через nginx
Незважаючи на наявність у PHP вбудованого сервера, рекомендується встановити окремий веб-сервер, оскільки він гнучкіше налаштовується і має додаткові можливості. Розглянемо як встановити веб-сервер самостійно.
Інсталюємо останню версію nginx:
brew install nginx
Оскільки порт 80 вимагає прав адміністратора, а homebrew за замовчуванням встановлює софт із правами користувача, то працювати nginx буде на порту 8080. Запускаємо nginx, щоб він працював у фоні й обслуговував наші запити:
brew services start nginx
Індикатор успіху:
==> Successfully started `nginx` (label: homebrew.mxcl.nginx)
Перевіряємо, що все встановилося коректно, і nginx успішно працює на нашому комп'ютері. Відкрийте будь-який браузер і введіть в адресному рядку наступний URL:
Ви маєте побачити таку сторінку з текстом «Welcome to nginx!».
Інтеграція PHP і веб-сервера
На цьому кроці ми «подружимо» PHP-інтерпретатор і nginx, щоб під час запиту веб-сторінок із розширенням .php автоматично виконувався php-сценарій, і ми бачили результат його роботи в браузері.
Ми зробимо просте налаштування сервера так, щоб він слухав одну папку проєкту і видавав результат через запит на сторінку.
Відкрийте конфігураційний файл nginx через VS Code.
Якщо у вас Mac на процесорі Intel:
code /usr/local/etc/nginx/nginx.conf
Якщо у вас Mac на процесорі Apple (M1, M1 Pro, M1 Max):
code /opt/homebrew/etc/nginx/nginx.conf
Зверніть увагу: якщо на цьому етапі ви отримуєте помилку zsh: command not found: code, то відкрийте VS Code, натисніть Cmd+Shift+P і введіть shell.
Виберіть пункт Shell Command: Install 'code' command in PATH. Після цього команда code додасться в термінал і ви зможете відкрити потрібний файл.
Додамо в кінець документа перед закриваючою дужкою від блоку http такий код. USERNAME потрібно буде у двох місцях замінити на ваше ім'я користувача.
server {
listen 8080;
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;
}
}
Якщо в nginx.conf уже є блок server, потрібно видалити його, інакше нічого не працюватиме.
Тут ми говоримо серверу, щоб він слухав 8080 порт сторінки Іоcalhosti під час запиту показував вміст папки yeticave. Після USERNAME ви можете вибрати шлях до будь-якої зручної для вас папки.
Дозволимо nginx читати вміст нашого проекту
sudo chmod -R 755 /Users/USERNAME/Sites/yeticave
Поміняйте USERNAME на ім'я вашого користувача і yeticave на папку вашого проєкту. Для того, щоб зміни застосувалися, потрібно перезавантажити сервер командою:
brew services restart nginx
Встановлення xdebug
pecl install xdebug
Перевірка роботи
Базове налаштування оточення закінчено. Залишилося перевірити, що ми все зробили правильно. Створимо тестовий PHP-сценарій із таким вмістом:
<?php
phpinfo();
?>
Збережіть його за адресою вашого проекту, наприклад, /Users/user/Sites/yeticave у файл index.php. Знову відкрийте браузер і перейдіть за посиланням http://localhost:8080/index.php. Ви маєте побачити велику сторінку з детальною інформацією про встановлену версію PHP і всі налаштування.
Це означатиме, що ви все зробили правильно, а значить готові писати і запускати свої перші php-сценарії. Зверніть увагу, що всі файли і папки проєкту за цієї конфігурації мають лежати в корені папки yeticave.
Встановлення бази даних, таких як MySQL, Postgres
Для керуванням БД раджу використовувати DBngin — https://dbngin.com, треба встановити — запустити — обрати БД яка потрібна.