From 8bb82a83d08f235c2c8b7ca02a85037c7de158e0 Mon Sep 17 00:00:00 2001 From: jxy918 Date: Tue, 6 Nov 2018 18:35:08 +0800 Subject: [PATCH] update swoole4.2.6 --- Dockerfile | 13 ++++++++----- bin/server.php | 22 ++++++++++++++++++++++ log/sw_server.log | 20 ++++++++++++++++++++ 3 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 bin/server.php diff --git a/Dockerfile b/Dockerfile index 0f9bafe..5ad611c 100755 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,9 @@ RUN apt-get update && apt-get install -y \ zlib1g-dev \ vim \ libssl-dev \ + libpcre3 \ + libpcre3-dev \ + libnghttp2-dev \ unzip \ wget \ make \ @@ -19,7 +22,7 @@ RUN apt-get update && apt-get install -y \ --no-install-recommends \ && docker-php-ext-install zip opcache bcmath pdo_mysql \ && cd /home && rm -rf temp && mkdir temp && cd temp \ - && wget https://github.com/swoole/swoole-src/archive/v2.1.3.tar.gz \ + && wget https://github.com/swoole/swoole-src/archive/v4.2.6.tar.gz \ https://github.com/redis/hiredis/archive/v0.13.3.tar.gz \ https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz \ https://github.com/msgpack/msgpack-php/archive/msgpack-2.0.2.tar.gz \ @@ -32,7 +35,7 @@ RUN apt-get update && apt-get install -y \ #解压安装包 && tar -xzvf 3.1.3.tar.gz \ && tar -xzvf v0.13.3.tar.gz \ - && tar -xzvf v2.1.3.tar.gz \ + && tar -xzvf v4.2.6.tar.gz \ && tar -xzvf msgpack-2.0.2.tar.gz \ && tar -xzvf 2.0.0.tar.gz \ && tar -xzvf igbinary-2.0.5.tgz \ @@ -48,8 +51,8 @@ RUN apt-get update && apt-get install -y \ && cd /home/temp/hiredis-0.13.3 \ && make -j && make install && ldconfig \ #源码编译swoole, 注意先往环境请去除--enable-swoole-debug配置 - && cd /home/temp/swoole-src-2.1.3 \ - && phpize && ./configure --enable-swoole-debug --enable-async-redis --enable-openssl --enable-coroutine \ + && cd /home/temp/swoole-src-4.2.6 \ + && phpize && ./configure --enable-mysqlnd --enable-openssl \ && make && make install \ #源码编译安装inotify && cd /home/temp/php-inotify-2.0.0 \ @@ -96,7 +99,7 @@ RUN apt-get update && apt-get install -y \ && echo extension=swoole.so>swoole.ini \ && echo extension=msgpack.so>msgpack.ini \ && echo extension=ds.so>ds.ini \ - && echo extension=protobuf.so>protobuf.ini \ + && echo extension=protobuf.so>ds.ini \ #添加系统配置,例如php.ini,opcache-recommended.ini && echo memory_limit = 1024 >> php.ini \ && echo Mdata.timezone = "Asia/Shanghai" >> php.ini \ diff --git a/bin/server.php b/bin/server.php new file mode 100644 index 0000000..277415b --- /dev/null +++ b/bin/server.php @@ -0,0 +1,22 @@ +set([ + 'heartbeat_check_interval' => 1, + 'heartbeat_idle_time' => 10 +]); + +$server->on('open', function (swoole_websocket_server $server, $request) { + echo "server: handshake success with fd{$request->fd}\n"; +}); + +$server->on('message', function (swoole_websocket_server $server, $frame) { + echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n"; + $server->push($frame->fd, "this is server"); +}); + +$server->on('close', function ($ser, $fd) { + echo "client {$fd} closed\n"; +}); + +$server->start(); + diff --git a/log/sw_server.log b/log/sw_server.log index e69de29..6f022a9 100755 --- a/log/sw_server.log +++ b/log/sw_server.log @@ -0,0 +1,20 @@ +[2018-10-08 18:17:28 @2971.0] TRACE hb timer start, time: 30 live time:60 +[2018-10-08 18:17:28 #2971.1] TRACE check fd=5 +[2018-10-08 18:17:29 *2980.1] DEBUG Context(:16): alloc stack: size=2097152, ptr=0x7f19edb2b010. +[2018-10-08 18:17:29 *2979.0] DEBUG Context(:16): alloc stack: size=2097152, ptr=0x7f19ed82a010. +[2018-10-08 18:17:29 *2979.0] DEBUG ~Context(:38): free stack: ptr=0x7f19ed82a010 +[2018-10-08 18:17:29 *2980.1] DEBUG ~Context(:38): free stack: ptr=0x7f19edb2b010 +[2018-10-08 18:17:58 #2971.1] TRACE check fd=5 +[2018-10-08 18:18:28 #2971.1] TRACE check fd=5 +[2018-10-08 18:18:58 #2971.1] TRACE check fd=5 +[2018-10-08 18:19:28 #2971.1] TRACE check fd=5 +[2018-10-08 18:19:58 #2971.1] TRACE check fd=5 +[2018-10-08 18:20:28 #2971.1] TRACE check fd=5 +[2018-10-08 18:20:58 #2971.1] TRACE check fd=5 +[2018-10-08 18:21:09 @2984.0] TRACE hb timer start, time: 30 live time:60 +[2018-10-08 18:21:09 #2984.1] TRACE check fd=5 +[2018-10-08 18:21:10 *2992.0] DEBUG Context(:16): alloc stack: size=2097152, ptr=0x7f869222a010. +[2018-10-08 18:21:10 *2992.0] DEBUG ~Context(:38): free stack: ptr=0x7f869222a010 +[2018-10-08 18:21:10 *2993.1] DEBUG Context(:16): alloc stack: size=2097152, ptr=0x7f869252b010. +[2018-10-08 18:21:10 *2993.1] DEBUG ~Context(:38): free stack: ptr=0x7f869252b010 +[2018-10-08 18:21:39 #2984.1] TRACE check fd=5