All Projects → twose → Swoole Docker

twose / Swoole Docker

See: https://github.com/swoole/docker-swoole

Projects that are alternatives of or similar to Swoole Docker

Swoft
🚀 PHP Microservice Full Coroutine Framework
Stars: ✭ 5,420 (+4006.06%)
Mutual labels:  coroutine, swoole
Saber
⚔️ Saber, PHP异步协程HTTP客户端 | PHP Coroutine HTTP client - Swoole Humanization Library
Stars: ✭ 866 (+556.06%)
Mutual labels:  coroutine, swoole
Imi
imi 是基于 Swoole 的 PHP 协程开发框架,它支持 Http、Http2、WebSocket、TCP、UDP、MQTT 等主流协议的服务开发,特别适合互联网微服务、即时通讯聊天im、物联网等场景!。QQ群:17916227
Stars: ✭ 680 (+415.15%)
Mutual labels:  coroutine, swoole
Yurunoauthlogin
PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。支持 php-fpm 和 Swoole,所有框架通用。QQ群:17916227
Stars: ✭ 330 (+150%)
Mutual labels:  coroutine, swoole
Ycsocket
基于swoole的socket框架,支持协程版MySQL、Redis连接池,已用于大型RPG游戏服务端
Stars: ✭ 77 (-41.67%)
Mutual labels:  coroutine, swoole
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+3086.36%)
Mutual labels:  coroutine, swoole
Swoft Db
[READ ONLY] Database Compoment for Swoft
Stars: ✭ 25 (-81.06%)
Mutual labels:  coroutine, swoole
swoole-postgresql-doctrine-driver
🔌 A Doctrine DBAL Driver implementation on top of Swoole Coroutine PostgreSQL client
Stars: ✭ 15 (-88.64%)
Mutual labels:  swoole, coroutine
Php Coroutine Engine
This project for php-fpm support coroutine
Stars: ✭ 74 (-43.94%)
Mutual labels:  coroutine, swoole
Swoft Framework
[READ ONLY] Swoft Framework, base of Swoft
Stars: ✭ 70 (-46.97%)
Mutual labels:  coroutine, swoole
Shadowfax
Run Laravel on Swoole.
Stars: ✭ 325 (+146.21%)
Mutual labels:  coroutine, swoole
Archer
基于协程Swoole的Task组件,支持多种模式。轻松实现协程Task的队列、并发、Defer、计时器等 | Swoole coroutine task kit - Swoole Humanization Library
Stars: ✭ 132 (+0%)
Mutual labels:  coroutine, swoole
Simps
🚀 A simple, lightweight and high-performance PHP coroutine framework.
Stars: ✭ 318 (+140.91%)
Mutual labels:  coroutine, swoole
Easyswoole
swoole,easyswoole,swoole framework
Stars: ✭ 4,409 (+3240.15%)
Mutual labels:  coroutine, swoole
PHPMailer-Swoole
安装最新版Swoole,开启一键协程化,使用原版phpmailer就可以实现协程化了。本项目已经没有维护下去的意义。
Stars: ✭ 25 (-81.06%)
Mutual labels:  swoole, coroutine
Paysdk
PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。支持 php-fpm 和 Swoole,所有框架通用。宇润PHP全家桶技术支持群:17916227
Stars: ✭ 723 (+447.73%)
Mutual labels:  coroutine, swoole
ext-postgresql
🐘 Coroutine-based client for PostgreSQL
Stars: ✭ 62 (-53.03%)
Mutual labels:  swoole, coroutine
zhamao-framework
协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)
Stars: ✭ 99 (-25%)
Mutual labels:  swoole, coroutine
Swpdo
Swoole Coroutine SQL component like PDO | 0成本迁移PDO到Swoole高性能协程客户端
Stars: ✭ 64 (-51.52%)
Mutual labels:  coroutine, swoole
Yii2 Swoole
full solutions making yii2-framework run on swoole with coroutine.
Stars: ✭ 86 (-34.85%)
Mutual labels:  coroutine, swoole

Swoole-coroutine

docker-hub

github

Usage

docker pull twosee/swoole-coroutine
docker pull twosee/swoole-coroutine:mysql
docker pull twosee/swoole-coroutine:redis
docker run -d --name=swoole \
 -v /workdir:/workdir \
 -p 9501:9501 \
 twosee/swoole-coroutine \
 php /app/server.php start

OR

docker-compose up

Introduction

  • 基于最新PHP7.2-cli版本
  • 使用swoole1.X~4.X最新版本构建, 所有功能火力全开
  • 提供Swoole的绝佳搭档:MySQL, Redis, Inotify, 配合docker-compose, 实现开箱即用
  • 已安装 ["GD", "iconv", "pdo_mysql", "dom", "xml", "curl", "swoole"]等PHP扩展
  • 已开启["coroutine", "openssl", "http2", "async-redis", "mysqlnd", "swoole-serialize"]等所有功能
  • 纯环境 , 0冗余 , 绿色清洁 , 无任何php代码
  • 默认中国上海时区
  • inotify提供自动化热更新等支持

  • Based on PHP7.2-cli
  • use swoole 1., 2. and 4.*(libco) latest stable version, All functions are fully open
  • Provide the perfect partner for Swoole such as MySQL, Redis, Inotify images, you can also use docker-compose, Out of the box.
  • PHP extension installed: ["GD", "iconv", "pdo_mysql", "dom", "xml", "curl", "swoole"]
  • enable ["coroutine", "openssl", "http2", "async-redis", "mysqlnd", "swoole-serialize"]
  • this container has no PHP code or framework included
  • Asia/Shanghai timezone default (you can remove it on the last RUN line)
  • Inotify provides hot auto updates and other support

Version

DIR INTRO Tag
/master Latest master version (Experimental type) latest
/mysql It's a perfect MySQL8's docker mysql
/mysql5 It's a perfect MySQL5's docker mysql5
/redis It's a perfect Redis's docker redis
/inotify inotify, composer, git, node, to support hot updates inotify
/release Latest release version release
/1.x-lts Latest version from branch 1.x-lts 1.x-lts
/2.x-lts Latest version from branch 1.x-lts 2.x-lts

Docker-compose

Swoole + mysql + redis

version: '3.4'
services:
  swoole:
    image: "twosee/swoole-coroutine"
    ports:
      - "9501:9501"
    volumes:
      - ./src:/app/src:rw
    restart: always
    depends_on:
      - mysql
    command: php /app/src/server.php start

  mysql:
    image: "twosee/swoole-coroutine:mysql"
    ports:
      - "9502:3306"
    volumes:
      - ./data/mysql/data:/var/lib/mysql:rw
      - ./data/mysql/sock:/var/run/mysqld:rw # remove when windows.
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_password_here
      MYSQL_DATABASE: test
      MYSQL_USER: php
      MYSQL_PASSWORD: php_user_password_here
    
  redis:
    image: "twosee/swoole-coroutine:redis"
    ports:
      - "9503:6379"
    volumes:
      - ./data/redis/data:/var/lib/redis:rw
    sysctls:
        net.core.somaxconn: 65535
    restart: always

  inotify:
    image: "twosee/swoole-coroutine:inotify"
    volumes:
      - ./:/app:rw
    restart: always
    environment:
      APP_ENV: dev # or product
    working_dir: /app/util
    command: /bin/bash inotify.sh

You can see mysqld.cnf.

$options = [
  'host'     => 'mysql', //So there.
  'port'     => 3306,
  'user'     => 'php',
  'password' => 'php_user_password_here',
  'database' => 'test'
];
$db = new \Swoole\Coroutine\Mysql();
$db->connect($options);

You can see redis.conf.

$redis = new \Swoole\Coroutine\Redis();
$redis->connect('redis', 6379);
$val = $redis->get('foo');
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].