Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服务,让 PHP 不再局限于 Web 领域。Swoole4 协程的成熟将 PHP 带入了前所未有的时期, 为性能的提升提供了独一无二的可能性。Swoole 可以广泛应用于互联网、移动通信、云计算、 网络游戏、物联网(IOT)、车联网、智能家居等领域。使用 PHP + Swoole 可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
swoole官方文档:https://www.swoole.com/
php的swoole扩展官方下载地址:https://pecl.php.net/package/swoole
github下载地址:https://github.com/swoole/swoole-src/releases
安装
1、安装php,进入php容器
[root@localhost ~]# docker pull php:latest
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
php latest 1ac2989b6821 13 days ago 485MB
[root@localhost ~]# docker run -itd --name php -d php:latest
1eb31c653b45e380bda9b010f303ed64edc5c29ce646473bb793eb04410b3102
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1eb31c653b45 php:latest "docker-php-entrypoi…" 34 seconds ago Up 33 seconds php
e135126657e8 yandex/clickhouse-server:latest "/entrypoint.sh" 19 hours ago Up 2 hours 0.0.0.0:8123->8123/tcp, :::8123->8123/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9009->9009/tcp, :::9009->9009/tcp clickhouse
[root@localhost ~]# docker exec -it 1eb31c653b45 /bin/sh
root@1eb31c653b45:/# php -m
[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
random
readline
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
可以看到最新php没有默认安装swoole扩展
2、更新源
root@1eb31c653b45:/# apt update
3、安装需要的编译环境和文本编辑器
root@1eb31c653b45:/# apt install -y gcc g++ autoconf libtool make vim wget
4、下载扩展解压后放到容器内
root@1eb31c653b45:/# wget https://pecl.php.net/get/swoole-5.0.1.tgz
root@1eb31c653b45:/# tar -xzvf swoole-5.0.1.tgz
#新建扩展库
root@1eb31c653b45:/# mkdir -p /usr/src/php/ext
#复制到容器内
root@1eb31c653b45:/# cp -r /swoole-5.0.1 /usr/src/php/ext
5、在容器执行安装
root@1eb31c653b45:/# docker-php-ext-install swoole-5.0.1
6、安装完成可看到swoole扩展
root@1eb31c653b45:/# php -m
[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
random
readline
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
swoole
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
7、查看swoole版本
root@1eb31c653b45:/# php --ri swoole
swoole
Swoole => enabled
Author => Swoole Team <team@swoole.com>
Version => 5.0.1
Built => Jan 4 2023 03:34:03
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
http2 => enabled
json => enabled
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
async_redis => enabled
Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => On => On
swoole.unixsock_buffer_size => 8388608 => 8388608
到此成功安装swoole扩展。
原文始发于微信公众号(面试技术):Docker安装PHP的Swoole扩展
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
相关推荐
暂无评论内容