Як встановити CodeIgniter 4 на macOS M1/M2: покроковий гайд

Коли Apple випустила MacBook на чіпах M1 та M2, багато розробників зіткнулися з проблемами сумісності. Архітектура ARM замість x86 означала, що деякі інструменти треба було адаптувати. Встановлення CodeIgniter 4 на macOS M1/M2 має свої нюанси, особливо якщо раніше працював на Intel Mac. Пройшов цей шлях особисто і готовий поділитися досвідом, щоб заощадити твій час на розібрання з можливими проблемами.

Підготовка системи: що потрібно перед встановленням CodeIgniter 4 на macOS M1/M2

Перш ніж встановлювати CodeIgniter 4, треба підготувати macOS. Це не просто запустити інсталятор — потрібно налаштувати PHP, Composer та веб-сервер. На щастя, macOS вже має вбудований PHP, але його версія може бути застарілою. Для CodeIgniter 4 потрібен PHP 7.4 або новіший, а краще одразу встановити PHP 8.1 чи 8.2.

Перший крок — встановлення Homebrew, якщо його ще немає. Це пакетний менеджер для macOS, який спрощує встановлення dev-інструментів. Відкриваєш Terminal та вводиш:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Code language: JavaScript (javascript)

На M1/M2 Homebrew встановлюється в /opt/homebrew замість традиційного /usr/local. Це важливо пам’ятати, бо інколи шляхи в конфігураціях треба коригувати. Після встановлення Homebrew додай його до PATH, якщо інсталятор не зробив це автоматично:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"Code language: PHP (php)

Перевіряємо, що Homebrew працює:

brew --version

Якщо бачиш версію Homebrew — все ок, можна рухатися далі.

Встановлення PHP для CodeIgniter 4 на macOS M1/M2

macOS Sonoma та новіші версії постачаються з PHP 8.1, але він може бути не повністю налаштований або відсутній у старіших версіях системи. Найкращий варіант — встановити PHP через Homebrew, це дає більше контролю та простіше оновлюється.

# Встановлення PHP 8.2 (рекомендовано для CodeIgniter 4)
brew install php@8.2

# Додаємо PHP до PATH
echo 'export PATH="/opt/homebrew/opt/php@8.2/bin:$PATH"' >> ~/.zprofile
source ~/.zprofile

# Перевіряємо версію
php -vCode language: PHP (php)

Маєш побачити щось на кшталт PHP 8.2.x. Якщо виводить старішу версію, перезапусти Terminal або перевір PATH. Важливий момент: CodeIgniter 4 вимагає певні PHP-розширення. Перевіримо, що все необхідне встановлено:

php -m | grep -E 'intl|mbstring|json|xml'Code language: JavaScript (javascript)

Якщо якогось розширення немає, встанови його. Зазвичай базова установка Homebrew PHP вже містить все необхідне, але на всяк випадок:

# Якщо потрібно встановити додаткові розширення
brew install php@8.2-intl php@8.2-mbstringCode language: CSS (css)

Налаштування php.ini для CodeIgniter 4 на M1/M2

Стандартний php.ini може мати обмеження, які заважатимуть комфортній розробці. Знайди файл конфігурації:

php --ini

Відкриваєш цей файл у текстовому редакторі (я використовую VS Code: code /opt/homebrew/etc/php/8.2/php.ini) та змінюєш кілька параметрів:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

# Для розробки корисно ввімкнути відображення помилок
display_errors = On
error_reporting = E_ALLCode language: PHP (php)

Після змін перезапусти PHP-FPM, якщо використовуєш його, або просто запам’ятай, що зміни вступлять у силу при наступному запуску вбудованого сервера.

Terminal macOS з командами встановлення CodeIgniter
Процес встановлення через Terminal на macOS M1

Встановлення Composer для роботи з CodeIgniter 4

Composer — це dependency manager для PHP, без якого сучасна розробка неможлива. CodeIgniter 4 рекомендує встановлення саме через Composer, хоча є варіант ручного завантаження. Але давай робити правильно:

# Встановлення Composer через Homebrew (найпростіше)
brew install composer

# Або вручну (якщо хочеш більше контролю)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

# Перевірка
composer --versionCode language: PHP (php)

Я зазвичай використовую Homebrew-версію, бо вона автоматично оновлюється разом з іншими пакетами. Але якщо потрібна специфічна версія Composer, краще вручну.

Створення проєкту CodeIgniter 4 на macOS M1/M2

Тепер найцікавіше — власне встановлення CodeIgniter 4. Переходимо в директорію, де зберігаються проєкти (я тримаю все в ~/Sites):

cd ~/Sites

# Створюємо новий проєкт CodeIgniter 4
composer create-project codeigniter4/appstarter myapp

# Переходимо в директорію проєкту
cd myappCode language: PHP (php)

Composer завантажить усі залежності та створить структуру проєкту. Це займає 1-2 хвилини залежно від швидкості інтернету. На M1/M2 все працює нативно без Rosetta 2, бо PHP та Composer вже мають ARM-версії.

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

ls -la

# Маєш побачити структуру:
# app/
# public/
# writable/
# tests/
# vendor/
# .env
# sparkCode language: PHP (php)

Налаштування .env файлу для CodeIgniter 4 на M1/M2

CodeIgniter 4 використовує .env файл для конфігурації середовища. Копіюємо шаблон та редагуємо:

cp env .env

# Відкриваємо в редакторі
code .env  # або nano .env, vim .envCode language: CSS (css)

Мінімальні налаштування для початку:

# Змінюємо оточення на development
CI_ENVIRONMENT = development

# Базовий URL (для локальної розробки)
app.baseURL = 'http://localhost:8080/'

# Часова зона
app.timezone = 'Europe/Kiev'

# Налаштування бази даних (якщо потрібно)
database.default.hostname = localhost
database.default.database = myapp_db
database.default.username = root
database.default.password = 
database.default.DBDriver = MySQLiCode language: PHP (php)

Зверни увагу на CI_ENVIRONMENT = development — це важливо для відображення помилок під час розробки. У production обов’язково змінюй на production.

Запуск локального сервера CodeIgniter 4 на macOS M1/M2

CodeIgniter 4 має вбудований сервер розробки через Spark CLI. Це найпростіший спосіб запустити проєкт локально:

# Запуск на порті 8080 (за замовчуванням)
php spark serve

# Або на іншому порті
php spark serve --port=3000Code language: PHP (php)

Відкриваєш браузер і йдеш на http://localhost:8080. Маєш побачити привітальну сторінку CodeIgniter 4 з червоно-білим дизайном. Якщо бачиш помилки, перевір PHP-розширення та права на директорію writable/:

# Надаємо права на запис
chmod -R 777 writable/Code language: PHP (php)

Хоча 777 не найбезпечніший варіант для production, для локальної розробки це нормально. Якщо працюєш у команді або плануєш деплоїти, краще налаштувати коректні права через user groups.

Альтернатива: використання MAMP або Valet для CodeIgniter 4

Вбудований сервер зручний, але інколи потрібно щось більш потужне. Два популярних варіанти для macOS: MAMP та Laravel Valet. MAMP — це графічний інтерфейс з Apache/Nginx, MySQL та phpMyAdmin. Valet — це мінімалістичне рішення від Laravel, яке працює на Nginx.

Особисто я використовую Valet для всіх PHP-проєктів, не тільки Laravel. Встановлення просте:

# Встановлення Laravel Valet
composer global require laravel/valet

# Додаємо composer global bin до PATH (якщо ще не додано)
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zprofile
source ~/.zprofile

# Встановлюємо Valet
valet install

# Переходимо в директорію з проєктами
cd ~/Sites

# "Паркуємо" директорію
valet parkCode language: PHP (php)

Тепер кожна директорія в ~/Sites автоматично доступна за адресою http://назва-директорії.test. Наприклад, проєкт myapp буде доступний на http://myapp.test. Valet працює бездоганно на M1/M2 і споживає мінімум ресурсів. Єдиний мінус — він для macOS та Linux, на Windows не працює.

Налаштування MySQL/MariaDB для CodeIgniter 4 на M1/M2

Якщо проєкт потребує бази даних, встанови MySQL або MariaDB через Homebrew:

# MySQL
brew install mysql
brew services start mysql

# Або MariaDB (легший і сумісніший з M1/M2)
brew install mariadb
brew services start mariadb

# Безпечне налаштування
mysql_secure_installationCode language: PHP (php)

Створюємо базу даних для проєкту:

mysql -u root -p

CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON myapp_db.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
EXIT;Code language: PHP (php)

Тепер CodeIgniter 4 зможе підключитися до бази, якщо правильно налаштував .env файл раніше. Можеш перевірити з’єднання через міграції:

php spark migrate

Типові проблеми при встановленні CodeIgniter 4 на macOS M1/M2

За час роботи з M1 Mac я зіткнувся з кількома проблемами. Перша — конфлікт між системним PHP та Homebrew PHP. Завжди перевіряй, який PHP використовується: which php. Якщо бачиш /usr/bin/php замість /opt/homebrew/bin/php, значить PATH налаштований неправильно.

Друга проблема — права доступу до writable/ директорії. CodeIgniter зберігає там кеш, логи та сесії. Якщо бачиш помилки про неможливість запису, використай chmod або перевір, чи не заблокований файловий доступ через macOS System Settings → Privacy & Security.

Третя проблема — помилки з intl розширенням. На деяких старих macOS воно може бути не активоване. Перевір через php -m | grep intl. Якщо немає, встанови через Homebrew або активуй у php.ini, прибравши ; перед extension=intl.

Оптимізація CodeIgniter 4 для роботи на Apple Silicon

M1/M2 чіпи дуже потужні, але щоб CodeIgniter використовував їх на повну, варто увімкнути OPcache. Це PHP-розширення кешує скомпільований bytecode, прискорюючи виконання. У php.ini додай або розкоментуй:

[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.fast_shutdown=1

Для розробки opcache.revalidate_freq=2 означає, що кеш перевірятиметься кожні 2 секунди. У production можна збільшити до 60 або більше. Після змін перезапусти PHP або сервер.

Також CodeIgniter 4 підтримує різні драйвери кешування: файли, Redis, Memcached. Для локальної розробки достатньо файлового кешу, але якщо плануєш масштабувати проєкт, розглянь Redis:

brew install redis
brew services start redis

У app/Config/Cache.php зміни $handler на 'redis' і налаштуй параметри підключення.

Інструменти розробки для CodeIgniter 4 на macOS

Щоб комфортно працювати з CodeIgniter 4 на M1/M2, рекомендую кілька інструментів. VS Code з розширеннями: PHP Tools, Intelephense для автодоповнення, та GitLens для роботи з Git. TablePlus або Sequel Ace для роботи з базою даних — обидва нативні для Apple Silicon і працюють блискавично.

Для API-тестування Postman або Insomnia — обидва мають ARM-версії. Для моніторингу логів tail -f writable/logs/*.log у Terminal або встанови LogTail. Для дебагу CodeIgniter має вбудований Debug Toolbar, який показує запити до БД, час виконання та інші метрики — дуже зручно під час розробки.

Підсумки: CodeIgniter 4 на macOS M1/M2 у 2025

Встановлення CodeIgniter 4 на macOS з Apple Silicon — це процес, який займає 20-30 хвилин при першому запуску. Основні кроки: Homebrew, PHP 8.2, Composer, створення проєкту через composer create-project, налаштування .env та запуск через php spark serve. Якщо потрібна база даних — MySQL через Homebrew та кілька SQL-команд.

M1/M2 Mac працюють з PHP та CodeIgniter нативно без емуляції, що дає чудову продуктивність. Я помітив, що вбудований сервер запускається швидше, а Composer встановлює залежності у 2-3 рази швидше порівняно зі старим Intel MacBook Pro. Якщо ще вагаєшся щодо переходу на Apple Silicon — не вагайся, для PHP-розробки це чудова платформа.

Найголовніше — правильно налаштувати PATH для Homebrew та перевірити, що використовується правильна версія PHP. Решта — стандартний процес, який не відрізняється від Intel Mac чи Linux. CodeIgniter 4 легкий, швидкий і чудово працює на будь-якій платформі. Успіхів у розробці!

Рекомендуємо прочитати

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *