All Projects → k911 → Swoole Bundle

k911 / Swoole Bundle

Licence: mit
Symfony Swoole Bundle

Projects that are alternatives of or similar to Swoole Bundle

Meinheld
Meinheld is a high performance asynchronous WSGI Web Server (based on picoev)
Stars: ✭ 1,339 (+566.17%)
Mutual labels:  async, http-server
Functional Promises
Write code like a story w/ a powerful Fluent (function chaining) API
Stars: ✭ 141 (-29.85%)
Mutual labels:  hacktoberfest, async
Madelineproto
Async PHP client/server API for the telegram MTProto protocol
Stars: ✭ 1,776 (+783.58%)
Mutual labels:  hacktoberfest, async
Suave
Suave is a simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition.
Stars: ✭ 1,196 (+495.02%)
Mutual labels:  async, http-server
Falcon
A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS.
Stars: ✭ 2,058 (+923.88%)
Mutual labels:  async, http-server
Pugxautocompleterbundle
Add an autocomplete field to your Symfony forms
Stars: ✭ 83 (-58.71%)
Mutual labels:  hacktoberfest, symfony-bundle
Aiohttp
Asynchronous HTTP client/server framework for asyncio and Python
Stars: ✭ 11,972 (+5856.22%)
Mutual labels:  async, http-server
Http Server
A non-blocking HTTP application server for PHP based on Amp.
Stars: ✭ 1,122 (+458.21%)
Mutual labels:  async, http-server
Nasus
Zero-configuration command-line async HTTP files server in Clojure. Like Python's SimpleHTTPServer but scalable.
Stars: ✭ 158 (-21.39%)
Mutual labels:  async, http-server
Core
The server component of API Platform: hypermedia and GraphQL APIs in minutes
Stars: ✭ 2,004 (+897.01%)
Mutual labels:  hacktoberfest, symfony-bundle
Dms Filter Bundle
Provides a FilterService for Symfony to allow users to implement input filtering in entities using Annotations
Stars: ✭ 74 (-63.18%)
Mutual labels:  hacktoberfest, symfony-bundle
Actix Extras
A collection of additional crates supporting the actix and actix-web frameworks.
Stars: ✭ 190 (-5.47%)
Mutual labels:  hacktoberfest, async
Akka Http
The Streaming-first HTTP server/module of Akka
Stars: ✭ 1,163 (+478.61%)
Mutual labels:  hacktoberfest, http-server
Igropyr
a async http server base on libuv for Chez Scheme
Stars: ✭ 85 (-57.71%)
Mutual labels:  async, http-server
Brawlstats
(A)sync python wrapper for the Brawl Stars API
Stars: ✭ 68 (-66.17%)
Mutual labels:  hacktoberfest, async
Zhttp
基于swoole的异步轻量级web框架,内部封装协程异步非阻塞全套mysql、redis、mongo、memcached连接池,可以轻松start、reload、stop,加入数据库的查询模块,框架已经封装好近乎同步写法,底层异步调用
Stars: ✭ 131 (-34.83%)
Mutual labels:  async, swoole
Siler
⚡ Flat-files and plain-old PHP functions rockin'on as a set of general purpose high-level abstractions.
Stars: ✭ 1,056 (+425.37%)
Mutual labels:  hacktoberfest, swoole
Fosoauthserverbundle
A server side OAuth2 Bundle for Symfony
Stars: ✭ 1,068 (+431.34%)
Mutual labels:  hacktoberfest, symfony-bundle
Aint Queue
🚀 An async-queue library built on top of swoole, flexable multi-consumer, coroutine supported. 基于 Swoole 的一个异步队列库,可弹性伸缩的工作进程池,工作进程协程支持。
Stars: ✭ 143 (-28.86%)
Mutual labels:  async, swoole
Http Kit
http-kit is a minimalist, event-driven, high-performance Clojure HTTP server/client library with WebSocket and asynchronous support
Stars: ✭ 2,234 (+1011.44%)
Mutual labels:  async, http-server

Swoole Bundle

Maintainability Test Coverage Open Source Love MIT Licence

Symfony integration with Swoole to speed up your applications.


Build Matrix

CI Job Branch master Branch develop
Circle CircleCI CircleCI
CodeCov codecov codecov
Travis Build Status Build Status

Table of Contents

Quick start guide

  1. Make sure you have installed proper Swoole PHP Extension and pass other requirements.

  2. (optional) Create a new symfony project

    composer create-project symfony/skeleton project
    
    cd ./project
    
  3. Install bundle in your Symfony application

    composer require k911/swoole-bundle
    
  4. Edit config/bundles.php

    return [
        // ...other bundles
        K911\Swoole\Bridge\Symfony\Bundle\SwooleBundle::class => ['all' => true],
    ];
    
  5. Run Swoole HTTP Server

    bin/console swoole:server:run
    
  6. Enter http://localhost:9501

  7. You can now configure bundle according to your needs

Features

  • Built-in API Server

    Swoole Bundle API Server allows managing Swoole HTTP Server in real-time.

    • Reload worker processes
    • Shutdown server
    • Access metrics and settings
  • Improved static files serving

    Swoole HTTP Server provides a default static files handler, but it lacks supporting many Content-Types. To overcome this issue, there is a configurable Advanced Static Files Server. Static files serving remains enabled by default in the development environment. Static files directory defaults to %kernel.project_dir%/public. To configure your custom mime types check configuration reference (key swoole.http_server.static.mime_types).

  • Symfony Messenger integration

    Available since version: 0.6

    Swoole Server Task Transport has been integrated into this bundle to allow easy execution of asynchronous actions. Documentation of this feature is available here.

  • Hot Module Reload (HMR) for development ALPHA

    Since Swoole HTTP Server runs in Event Loop and does not flush memory between requests, to keep DX equal with normal servers, this bundle uses code replacement technique, using inotify PHP Extension to allow continuous development. It is enabled by default (when the extension is found) and requires no additional configuration. You can turn it off in bundle configuration.

    Remarks: This feature currently works only on a Linux host machine. It probably won't work with Docker, and it is possible that it works only with configuration: swoole.http_server.running_mode: process (default).

Requirements

Current (0.8.x)

  • PHP version >= 7.4
  • Swoole PHP Extension >= 4.5.10
  • Symfony >= 4.3.1

Future

  • PHP version >= 8.0
  • Swoole PHP Extension >= 4.6
  • Symfony >= 5.0

Additional requirements to enable specific features:

  • Inotify PHP Extension ^2.0.0 to use Hot Module Reload (HMR)
    • When using PHP 8, inotify version ^3.0.0 is required

Swoole

Bundle requires Swoole PHP Extension version 4.5.10 or higher. Active bug fixes are provided only for the latest version.

Version check

To check your installed version you can run the following command:

php -r "echo swoole_version() . \PHP_EOL;"

# 4.4.7

Installation

Official GitHub repository swoole/swoole-src contains comprehensive installation guide. The recommended approach is to install it from source.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].