Руководство по конфигурации многой среды ServBay: Управление версиями PHP через командную строку и веб-сервисы
I. Командная строка: Глубокое применение .servbay.config
С помощью проектного конфигурационного файла .servbay.config
разработчики могут точно контролировать версии PHP в командной строке, позволяя параллельную разработку нескольких проектов и изоляцию версий.
1. Основные функции и принципы
• Совместное использование нескольких версий: ServBay нативно поддерживает совместное использование всех версий от PHP 5.6 до 8.5-dev, каждое приложение указывает необходимую версию через отдельный конфигурационный файл.
• Невмешивающий переключатель: при выполнении команд ServBay автоматически определяет .servbay.config
в каталоге проекта и динамически загружает соответствующую среду PHP, избегая конфликтов глобальных конфигураций.
2. Метод настройки
Создайте файл .servbay.config
в корневом каталоге проекта и добавьте следующее:
# Указание версии PHP (например: PHP 8.5-dev)
PHP_VERSION=8.5
2
Проверка работоспособности:
$ php -v # Вывод версии должен быть 8.5
$ composer install # Разрешения зависимостей основаны на текущей версии PHP
2
3. Расширенные техники и ограничения
• Проверка совместимости версий: при возникновении ошибок, таких как "Class not found", необходимо проверить совместимость зависимостей с указанной версией PHP (например, расширение mcrypt
, убранное в PHP 8.x).
• Глобальное значение по умолчанию: если не настроено, будет использоваться глобальная версия ServBay (можно изменить в Настройках
ServBay).
• Совместная работа нескольких сервисов: совместите конфигурацию версий Node.js (NODE_VERSION=20
), чтобы контролировать двойную среду PHP + Node.js.
4. Пример запуска
Ниже приведен реальный пример работы .servbay.config
.
II. Веб-сервис: Управление версиями PHP на уровне сайтов
Графический интерфейс настройки сайта ServBay предоставляет возможность управления версиями PHP для веб-сервисов, полностью независимо от командной строки.
1. Процесс настройки
Добавление/Редактирование сайта:
• Откройте ServBay, перейдите на вкладку Hosts (Сайты).
• Нажмите +, чтобы создать новый сайт или отредактировать существующий.
• Выберите целевую версию из выпадающего меню PHP Version (например, 8.3, 8.5-dev и т.д.).Связывание пути и доменного имени:
• Root Directory: укажите публичный каталог проекта (например,/Applications/ServBay/www/laravel-app/public
для Laravel).
• Domain: установите пользовательское доменное имя (например,laravel.host
), поддерживается автоматическая выдача HTTPS.
2. Техническая реализация и оптимизация
• Изоляция услуг: каждая версия PHP работает в отдельном процессе, что предотвращает загрязнение памяти между версиями.
• Оптимизация производительности: оптимизация для архитектуры ARM64/X86_64.
• Устранение ошибок:
• Проверка журналов: /Applications/ServBay/var/log/php/php_error.log
• Используйте servbayctl status php 8.5
, чтобы проверить состояние процессов.
3. Расширение на несколько серверов
• Поддержка Apache/Nginx/Caddy: начиная с ServBay 1.7.0+ возможно переключение веб-серверов.
• Связка с базой данных: интеграция с многими версиями MySQL/MariaDB/PostgreSQL (например, работа с MariaDB 11.5 для проекта Laravel).
III. Лучшие практики совместной работы между средами
Сценарий | Конфигурация командной строки | Конфигурация веб-сервиса | |
---|---|---|---|
Поддержка унаследованных систем | Установить PHP 5.6 в .servbay.config | Указать PHP 5.6 для сайта | |
Разработка Laravel 11 | Настроить PHP 8.3 + Node 20 | Связывание домена и активация HTTPS | |
Тестирование новой версии | Использовать PHP 8.5-dev | Оптимизация кэша с Redis 7.x |
Важные замечания:
• Модули PHP для командной строки и веб-сервиса могут отличаться (например, в CLI режиме opcache
по умолчанию отключен).
• Обновите ServBay Runtime до 1.0.20/1.1.20+, чтобы получить последние функции PHP.
С помощью управления по указанным сценариям разработчики могут эффективно использовать возможности многоверсионного контроля ServBay, обеспечивая гибкость разработки и согласованность в производственной среде.