Установка Swoole для php на Debian/Ubuntu

Полная инструкция по установке 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-приложению все преимущества асинхронной обработки и многозадачности, что значительно повышает его масштабируемость и производительность при высокой нагрузке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *