Установка оточення для розробки PHP на macOS і Linux

  1. Налаштування оточення PHP-розробника в macOS Як встановити і налаштувати всі необхідні компоненти,...
  2. установка PHP
  3. Установка веб-сервера
  4. Використання веб-сервера з редактора
  5. установка nginx
  6. Інтеграція PHP та веб-сервера
  7. установка xdebug
  8. Перевірка роботи
  9. Установка MySQL в macOS
  10. Установка на Linux
  11. установка PHP
  12. Налаштування xdebug

Налаштування оточення PHP-розробника в macOS

Як встановити і налаштувати всі необхідні компоненти, щоб підготувати свій мак до повноцінної розробки на PHP.

пакетний менеджер

Завантажувати та встановлювати весь необхідний софт ми будемо за допомогою пакетного менеджера Homebrew .
Пакетний менеджер - це інструмент, який значно полегшує процес установки будь-яких програм. З Homebrew установка програми на комп'ютер зводиться буквально до однієї команди в терміналі.

Але сам Homebrew теж потрібно встановити, так як за замовчуванням він не входить до складу операційної системи.
Зрозуміла інструкція з його встановлення є на головній сторінці цієї програми . Виконайте її і переходьте до наступного кроку.

установка PHP

Почнемо з установки PHP-інтерпретатора.
Всі наступні команди виконуються через термінал.
Встановити інтерпретатор можна через одну просту команду:

brew install [email protected]

Перевіримо, що все встановилося коректно:

$ Php --version PHP 7.2.14 (cli) (built: Jan 12 2019 5: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. В цьому випадку процес установки буде виконуватися за допомогою стандартного інсталятора.

В цьому випадку процес установки буде виконуватися за допомогою стандартного інсталятора

Малюнок 1. Вікно інсталятора

Натискаємо Continue поки не дійдемо до кроку Installation Type. На цьому кроці необхідно перевірити перелік компонентів для установки. Натискаємо кнопку Customize. Відзначаємо всі прапори як на малюнку 2.

Малюнок 2. Вибір компонент для установки

Натискаємо Install. Після установки відобразиться спливаюче вікно з автоматично згенерували паролем для користувача root. Обов'язково його запам'ятайте. Приклад вікна з автоматично згенерували паролем наведено на малюнку 3. Далі натискаєте кнопку Finish. На цьому установка MySQL завершена.

Малюнок 3. Автоматично сформований пароль

Відразу після установки служба MySQL НЕ буде запущена. Запуск необхідно виконати вручну. Найпростіше це зробити через аплет System Preferences. Відкриваємо і запускаємо аплет для управління MySQL (рисунок 4). У вікні натискаємо кнопку Start MySQL Server.

Малюнок 4. Вікно System Preferences Малюнок 4 Малюнок 5. Аплет запуску MySQL

Щоб протестувати з'єднання з MySQL і отримати можливість виконувати базові завдання, вам буде потрібно фірмова утиліта від Oracle - MySQL Workbench . Установка утиліти виконується стандартним для macOS способом: запускаємо завантажений DMG і у вікні інсталятора перетягуємо іконку MySQL Workbench в папку Application.

Для тестування коректності установки MySQL запустимо MySQL Workbench і спробуємо встановити з'єднання.

Для тестування коректності установки MySQL запустимо MySQL Workbench і спробуємо встановити з'єднання

Малюнок 6. Головне вікно MySQL Workbench

У головному вікні MySQL Workbench, в розділі MySQL Connections натискаємо по автоматично підготовленого профілю Local instance. З'явиться вікно введення пароля. Вводите пароль, який ви зберегли на етапі установки. Якщо пароль вірний, то на екрані з'явиться запит вказати поточний пароль і встановити новий. Виконайте цю дію і натисніть Ok. У разі встановлення з'єднання ви побачите вікно як на малюнку.

Малюнок 7. З'єднання з MySQL встановлено

Установка на Linux

Налаштувати робоче оточення для розробки на PHP в Linux можливо декількома способами. Розглянемо один з найбільш швидких способів: настройка зв'язки PHP плюс nginx.

  1. Відкрийте програму "Термінал». Ярлик на запуск доступний в менеджері додатків.

    Малюнок 1 Малюнок 1. Вікно терміналу

  2. Оновимо локальний індекс пакетів APT sudo apt-get update
  3. Для роботи з PHP нам буде потрібно веб-сервер. У репозиторіях є кілька популярних веб-серверів, ми віддамо перевагу nginx. Крім високої продуктивності його легше конфігурувати. sudo apt-get install nginx
  4. Наступним кроком виконаємо запуску nginx. Запам'ятайте цю команду. Вона вам знадобиться при додаванні нових віртуальних хостів. sudo service nginx start
  5. nginx встановлений і тепер нам потрібно виконати базове конфігурація. Наша мета - створити новий віртуальний хост, який буде доступний за адресою yourproject.local, де замість yourproject може бути назва вашого проекту. Наприклад: doingsdone.local, eticave.local. Зверніть увагу, імена доменів не можуть містити пробіли. Визначтеся з ім'ям домена (далі «ім'я хоста для проекту»). Ми будемо орієнтуватися на проект yeticave.local, тому саме так будемо називати конфігураційний файл. Перейдіть в директорію sites-available. У цій директорії, nginx зберігає конфігураційні файли всіх віртуальних хостів. cd / etc / nginx / sites-available Щоб побачити список всіх доступних віртуальних хостів, виведіть вміст каталогу: ls -all Малюнок 2. Список доступних віртуальних хостів
  6. Назва конфігураційного файлу повинна відповідати імені хоста. Оскільки ми плануємо зробити конфігураційний файл для хоста yeticave.local, нам буде потрібно створити файл yeticave.local. Зробимо це: sudo touch yeticave.local
  7. Файл готовий, тепер відкриємо його в командному редакторі nano (встановлено за умовчанням в більшості сучасних дистрибутивів) і опишемо мінімальну конфігурацію. sudo nano yeticave.local
  8. Скопіюйте у відкритий файл yeticave.local нижче наведений конфігураційний файл. Інформацію про всі незрозумілих рядках ви зможете почерпнути з офіційної документації до nginx. server {# Наш проект буде доступний на 80 порту listen 80; # Ім'я віртуального хоста server_name yeticave.local; # Коренева директорія проекту. У цій папці будуть знаходитися файли проекту. # Зверніть увагу. Файли знаходяться в домашній директорії користувача # Administrator. Ваше ім'я напевно відрізняється, тому зверніть на це увагу # при написанні шляху. 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) (/.+) $; # Зверніть увагу на номер версії PHP. На поточному момент в репозиторіях # Ubuntu доступна версія 7.1. Якщо ви користуєтеся старішою версією ОС, # то не забудьте оновити номер версії на свій. fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; include fastcgi_params; } Location ~ /\.ht {deny all; }} Малюнок 3. Підготовка конфіга Для збереження змін у файлі натисніть комбінацію клавіш ctrl + o. Потім закрийте редактор nano сполучення клавіш ctrl + x.
  9. Протестуємо створений конфігураційний файл на наявність помилок: sudo nginx -t Малюнок 4. Тестування конфігураційного файлу nginx
  10. На цьому процес створення конфігураційного файлу завершений. Активуємо щойно створений віртуальний хост. Для цього перейдемо в директорію sites-enabled і створимо в ній символічну посилання на наш конфігураційний файл. cd / etc / nginx / sites-enabled / sudo ln -s /etc/nginx/sites-available/yeticave.local
  11. Якщо на поточному кроці спробувати відкрити браузер і ввести в адресному рядку http: //yeticave.local, то нічого, крім помилки «Сервер не знайдений», ми не побачимо. Виправимо проблему додаванням нового запису в hosts: sudo nano / etc / hosts На самому початку файлі додайте рядок: 127.0.0.1 yeticave.local Зверніть увагу, ми пишемо тільки доменне ім'я без вказівки протоколу (http). Зберігаємо зміни ctrl + o і закриваємо редактор nano сполучення клавіш ctrl + x.

установка PHP

Останнім компонентом в налаштуванні робочого оточення стане 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

Важливо: обов'язково зверніть увагу на встановлену версію. Залежно від дистрибутива вона може відрізнятися. Наприклад, в Ubuntu 16.04 встановлюється 7.0. Якщо номер версії відрізняється від тієї, що ми вказали в файлі конфігурації yeticave.local, то необхідно її виправити.

Налаштування xdebug

  1. Вводимо команду редагування файлу: sudo nano /etc/php/7.1/mods-available/xdebug.ini
  2. Додаємо в файл конфігурацію для 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.

  3. Внесемо зміни в конфігураційний файл php, щоб він виводив всі помилки в браузер, а не тільки в лог-файл. sudo nano /etc/php/7.1/fpm/php.ini
  4. Знайдемо, раскомментіруем (приберемо знак «;» або виправимо значення) і встановимо значення для рядків: display_errors = On display_startup_errors = On error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT Зберігаємо зміни ctrl + o, закриваємо редактор ctrl + x.
  5. Запускаємо php-fpm. Виконуємо команди: sudo service php7.1-fpm stop sudo service php7.1-fpm start
  6. Розміщуємо файли проекту в директорію проекту. Директорію проекту ви вказали в секції root, конфігураційного файлу yeticave.local. Виставляємо права: sudo chmod -R 755 /home/administrator/www/yeticave.local Відкриваємо браузер і пробуємо звернутися до http: //yeticave.local.
Php?