Полная инструкция по установке Swoole для разных версий PHP на Debian 12 на примере php8.2
1. Обновить пакеты
Перед началом установки обновите локальный список пакетов с помощью команды:
sudo apt update
2. Установить зависимости
Для компиляции Swoole вам понадобятся некоторые зависимости, которые можно установить с помощью следующей команды:
sudo apt install -y build-essential autoconf bison re2c libcurl4-openssl-dev libssl-dev libz-dev pkg-config php8.2-dev
Здесь устанавливается набор инструментов для компиляции (build-essential), а также необходимые библиотеки для работы Swoole (например, для работы с SSL и cURL).
3. Скачать актуальную версию Swoole
Перейдите на страницу пакета Swoole на PECL и выберите нужную версию. Например, скачайте версию 6.0.1 с помощью:
wget https://pecl.php.net/get/swoole-6.0.1.tgz
4. Распаковать архив
После того как архив будет скачан, распакуйте его:
tar -xvzf swoole-6.0.1.tgz
5. Перейти в каталог с исходниками
Перейдите в распакованный каталог:
cd swoole-6.0.1
6. Убедиться, что установлены php8.2-dev и phpize8.2
Убедитесь, что у вас установлены необходимые утилиты для компиляции расширений PHP:
which phpize8.2
which php-config8.2
Если команды не находятся, установите php8.2-dev и phpize8.2.
7. Подготовить окружение с помощью phpize
Запустите команду phpize8.2, чтобы подготовить окружение для компиляции:
/usr/bin/phpize8.2
8. Запустить ./configure
Теперь настройте конфигурацию расширения:
./configure --with-php-config=/usr/bin/php-config8.2
9. Скомпилировать и установить расширение swoole
Компиляция и установка выполняются с помощью команд:
sudo make
sudo make install
10. Узнать место, где находится расширение PHP
Для установки расширений важно знать, где они будут размещены. Узнать путь можно с помощью команды:
php8.2 -i | grep extension_dir
11. Скопировать расширение в каталог PHP
Скопируйте скомпилированный файл swoole.so в каталог расширений PHP:
sudo cp modules/swoole.so /usr/lib/php/20220829/
Путь может изменяться в зависимости от версии PHP, которую вы используете.
12. Включить расширение в php.ini
Чтобы Swoole заработал, добавьте его в php.ini:
- Для Apache2:
echo extension=swoole | sudo tee -a /etc/php/8.2/apache2/php.ini
- Для PHP-FPM:
echo extension=swoole | sudo tee -a /etc/php/8.2/fpm/php.ini
- Для консольной версии PHP:
echo extension=swoole | sudo tee -a /etc/php/8.2/cli/php.ini
13. Перезагрузить php-fpm
После того как вы добавили расширение, перезагрузите PHP-FPM:
sudo systemctl restart php8.2-fpm
14. Перезагрузить Apache2
Если вы используете Apache2, перезагрузите его:
sudo systemctl restart apache2
15. Перезагрузить Nginx
Если у вас настроен Nginx, перезагрузите его:
sudo systemctl restart nginx
16. Проверить установку Swoole
Для проверки того, что расширение установлено и работает, выполните:
php8.2 -m | grep swoole
Если Swoole успешно установлен, вы должны увидеть его в выводе команды.
Важность Swoole
Swoole значительно увеличивает производительность PHP-приложений. Вот основные преимущества:
- Асинхронная обработка запросов: позволяет обрабатывать множество запросов одновременно, что критически важно для высоконагруженных приложений.
- Многозадачность: поддержка многозадачности с минимальными затратами на контекстный переключатель.
- Высокая производительность: гораздо быстрее, чем традиционные решения на основе PHP и Apache.
- Поддержка WebSocket: позволяет создавать высокопроизводительные чаты и другие приложения с двусторонней передачей данных.
- Интеграция с базами данных: поддержка асинхронных подключений к MySQL и Redis для увеличения пропускной способности.
Использование Swoole дает вашему PHP-приложению все преимущества асинхронной обработки и многозадачности, что значительно повышает его масштабируемость и производительность при высокой нагрузке.