
Полностью асинхронная высокопроизводительная сетевая библиотека, которая является эффективной, стабильной, безопасной и простым в использовании, а также проверка в режиме реального времени обеспечивается посредством расширения PHP.
Следуя протоколу Apache, он основан на реконструкции ветви и разработке Swoole версии 1.8.5.
Я хотел бы выразить свою особую благодарность команде разработчиков Swoole за их усилия и пот для сообщества PHP с открытым исходным кодом.
Что сделал Зан
- Отделение и разделение большого количества модулей
- Исправить большое количество ошибок и логических дефектов (утечки памяти, выпуска логики)
- Встроенный универсальный пул соединений
- Алгоритм поддержки времени
- Асинхронный интерфейс поддерживает тайм -аут
- Повышение безопасности клиента MySQL (предварительная обработка, транзакции)
- Поддержка протокола Nova (протокол RPC)
- Поддерживает плавный перезапуск
- Покрытие теста на интерфейс 100%
- Комплексная документация API в реальном времени
- ...
Шаги компиляции и установки
Мастерская филиала внесла серьезные изменения и все еще находится на этапе внутреннего тестирования.
git clone https://github.com/youzan/zan.git
cd zan-extension
phpize
./configure
make
make install
Рекомендуется установить элементы конфигурации
phpize
./configure --enable-openssl
make
make install
Компиляция Zan и часто задаваемые вопросы
- Используйте расширение Async-Redis Client и Sockets Sockets, которое будет открыто по умолчанию, и используйте функцию SSL, чтобы не открываться по умолчанию.
- Если вы не хотите использовать клиент Async-REDIS, вы можете использовать опцию
--disable-async-redis для выключения при настройке. - Использование клиента Async-REDIS требует, чтобы библиотека Hiredis была установлена. Если вам нужно поддерживать аппаратные платформы, такие как ARM, сначала необходимо установить библиотеку Hiredis, а затем добавить
PHP_ADD_LIBRARY(hiredis, 1, ZAN_SHARED_LIBADD) в файл config.m4, чтобы скомпилировать его в расширение Zan. - Если вы хотите использовать функцию SSL, вы можете использовать опцию
--enable-openssl , чтобы включить ее при настройке.
- Если вы выполняете Phpize, чтобы сообщить о XXX/SED: нет такого файла, пожалуйста, переустановите PHP или Copy/usr/bin/SED в каталог XXX.
- Если вы выполняете Phpize, чтобы сообщить, нельзя найти AutoConf, сначала установите инструмент AutoConf.
- Если ошибка libcurl не установлена при выполнении настройки, пожалуйста, переустановите библиотеку скручивания и убедитесь, что имя и путь библиотеки и файла заголовка являются правильными.
- Если имя библиотеки и path/usr/lib/libcurl.so (обычно libxxx.so.xxx с номером версии будет мягко подключено к libxxx.so для идентификации линкера), соответствующий путь файла заголовка/usr/include/curl.
- После подтверждения того, что библиотека скручивания установлена правильно, обязательно реффизируйте &&, чтобы убедиться, что новая конфигурация вступает в силу.
- Если ошибка все еще сообщается после нажатия 1) и 2) операций, вы можете изменить путь конфигурации php_curl в config.m4, чтобы установить Curl для вас.
- Если вы сообщите об ошибке при выполнении поддержки Sockets Inable Sockets Inable Sockets, расширение Sockets установлено неправильно, пожалуйста, подтвердите, что версия PHP и расширение Sockets правильно установлено.
- Версия PHP должна быть версией 5.6 или выше.
- Заголовок ext/sockets/php_sockets.h должен быть включен в путь включения PHP.
- Расширение Sockets загружается до того, как Zan (введенный порядок загрузки в php.ini), чтобы убедиться, что информация о таблице символов может быть упомянута.
- Если вы сообщите об ошибке при выполнении Configure Enable OpenSSL -поддержку, требуйте библиотеки OpenSSL, пожалуйста, переустановите библиотеку OpenSSL и убедитесь, что ссылка является правильной.
- Переустановить библиотеку OpenSSL.
- Добавьте путь библиотеки OpenSSL для линкера, чтобы найти LIB, например, дополнение
-L/usr/local/opt/openssl/lib в ldflags в config.m4. - Добавьте библиотеку OpenSSL, чтобы зависеть от пути файла заголовка, например, добавление
-I/usr/local/opt/openssl/include incule to cppflags в config.m4. - Реконфигурация все еще необходима, и установите ее в соответствии с этапами расширения компиляции, см. Выше.
Официальный канал связи
Официальный веб -сайт: нажмите меня, чтобы ввести
Адрес склада документов Zan: Zan-Doc
Посмотреть документ онлайн: http://zandoc.zanphp.io ✈ ✈
Группа QQ: 115728122
Обычно используемые ссылки
- Асинхронная сетевая модель
- PHP асинхронное программирование: научите вас, как реализовать CO и KOA шаг за шагом
- Глубокое понимание оптимизации OpCode PHP
- Zan-Stats Monitoring Tool
Пожертвовать нам
Канал пожертвования
Лицензия
Фреймворк Zan открыта на основе лицензии Apache2.0.