Оглавление:
Карта сайта:
Оглавление:
Карта сайта:
Расширения «Swoole» построены в соответствии со стандартными расширениями «PHP». Используйте «phpize» для создания сценариев обнаружения компиляции, для выполнения «./configure» определения конфигурации компиляции, «make» для компиляции и «make install» для установки.
Перед установкой убедитесь, что в системе установлено следующее программное обеспечение
1. Загрузите исходный код swoole
2. Скомпилируйте и установите из исходников
После загрузки пакета исходного кода войдите в каталог исходного кода в терминале и выполните следующие команды для компиляции и установки.
В Ubuntu не установлена исполняемая команда phpize: «sudo apt-get install php-dev», чтобы установить phpize
cd swoole-src && \ phpize && \ ./configure && \ make && sudo make install
3. Включить расширения
После успешной компиляции и установки в систему вам нужно добавить в php.ini строку «extension=swoole.so», чтобы включить расширение Swoole.
Разработчики, которые плохо знакомы с Swoole, попробуйте простую компиляцию выше. При необходимости вы можете настроить параметры компиляции в следующем примере в соответствии с конкретными требованиями и версиями. Справочник по параметрам компиляции
Следующий скрипт загрузит и скомпилирует исходный код ветки «master», убедитесь, что вы установили все зависимости, иначе вы столкнетесь с различными ошибками зависимостей.
mkdir -p ~/build && \ cd ~/build && \ rm -rf ./swoole-src && \ curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L && \ tar zxvf ./tmp/swoole.tar.gz && \ mv swoole-src* swoole-src && \ cd swoole-src && \ phpize && \ ./configure \ --enable-openssl \ --enable-http2 && \ make && sudo make install
Примечание: время выпуска PECL позже, чем время выпуска GitHub.
Проект Swoole включен в официальную библиотеку расширений PHP. Помимо загрузки и компиляции вручную, вы также можете загрузить и установить его одним щелчком мыши с помощью команды «pecl».
pecl install swoole
При установке Swoole через PECL во время установки он спросит, хотите ли вы включить определенные функции, это также можно указать перед запуском установки, например:
ecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes"' swoole #или pecl install --configureoptions 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes"' swoole
Наконец, после успешной компиляции и установки измените и добавьте php.ini
extension=swoole.so
php -m Проверьте, успешно ли загружен swoole.so, если нет, php.ini неверный. Вы можете использовать php –ini, чтобы найти php.ini — абсолютный путь к файлу .
Загруженный файл конфигурации. Один элемент показывает загруженный файл php.ini. Если значение «none» доказывает, что файл php.ini вообще не загружен, вам нужно создать его самостоятельно.
Платформа ARM (Raspberry Pi Raspberry PI)
MIPS platform (OpenWrt router)
Windows WSL
Windows 10 В систему добавлена поддержка подсистемы Linux, BashOnWindows, которую также можно использовать в среде Swoole. установить команду
apt-get install php7.0 php7.0-curl php7.0-gd php7.0-gmp php7.0-json php7.0-mysql php7.0-opcache php7.0-readline php7.0-sqlite3 php7.0-tidy php7.0-xml php7.0-bcmath php7.0-bz2 php7.0-intl php7.0-mbstring php7.0-mcrypt php7.0-soap php7.0-xsl php7.0-zip pecl install swoole echo 'extension=swoole.so' >> /etc/php/7.0/mods-available/swoole.ini cd /etc/php/7.0/cli/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.ini cd /etc/php/7.0/fpm/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.iniCopy to clipboardErrorCopied
WSL Параметры daemonize
ниже должны быть закрыты 17101 в среде WSL, а исходный код должен быть изменен configure после config.h Закрыть HAVE_SIGNALFD
Вот ./configure дополнительные параметры конфигурации сборки для включения определенных функций.
включить поддержку SSL
Использует библиотеку libssl.so
Чтобы включить поддержку SSL нужно указать openssl путь к библиотеке, например: –with-openssl-dir=/opt/openssl/
HTTP2 Включить поддержку
зависимость от библиотеки nghttp2 . После версииv4.3.0больше не нужно устанавливать зависимости и менять на встроенные, но все равно нужно добавить этот параметр компиляции, чтобы включить поддержку http2
Включить поддержку swoole_substr_json_decode
Зависит от расширения json , v4.5.7 - доступная версия
Включить поддержку SWOOLE_HOOK_NATIVE_CURL
Доступна версия v4.6.0. Если компиляция сообщает об ошибке curl/curl.h: нет такого файла или каталога, проверьте процесс установки.
Включить поддержку c-ares
Если нет исторической причины, не рекомендуется включать
Включите поддержку mysqlnd, включите метод Coroutine\\MySQL::escapse. Когда этот параметр включен, в PHP должен быть модуль mysqlnd, иначе Swoole не будет работать.
зависит от расширения mysqlnd
Добавлена поддержка ресурсов PHP sockets. Если этот параметр включен, Swoole\\Event::add может добавлять расширения sockets при созданнии соединениями, в Swoole в цикле событий.
Метод getSocket() в Server и Client должен полагаться на этот параметр компиляции.
Включите режим отладки. Использование трассировки gdb,необходимо добавлялся этот параметр во время компиляции.
Включите журнал отладки ядра. (Swoole версия = 4.2.0)
Включите журнал трассировки. Когда эта опция включена, swoole будет печатать журнал отладки с различными подробностями. Он используется только для разработки ядра.
Статически скомпилировать расширение Swoole в PHP
Эта опция используется при компиляции PHP вместо Swoole.
Сопрограммы могут давать сбой из-за интенсивного использования глобальных переменных некоторыми расширениями отладки трассировки PHP. Пожалуйста, отключите следующие связанные расширения:
Swoole не могут работать в фреймворках phalcon)
Среди них
xdebug и phptrace можно заменить на , sdebug
Для отладки Swoole рекомендуется использовать Yasd, аналогично Xdebug, который отлично поддерживает сопрограммы, поддерживает отладку по точкам останова, пошаговое отслеживание и просмотр переменных;
xhprof, blackfire и molten можно заменить на Swoole Tracker.