English | 中文
假设您的本机环境并不能达到 EasySwoole
的环境要求,或对于环境配置不是那么熟悉,那么您可以通过以下方法来运行及开发 EasySwoole
项目:
可以根据实际情况,映射到宿主机对应的目录,以下以 /workspace/project
为例
如果
docker
启动时开启了selinux-enabled
选项,容器内访问宿主机资源就会受限,所以启动容器时可以增加--privileged -u root
选项
docker run --name easyswoole \
-v /workspace/project:/var/www/project \
-p 9501:9501 -it \
--privileged -u root \
--entrypoint /bin/sh \
easyswoolexuesi2021/easyswoole:php8.2.17-alpine3.19-swoole5.1.1
你可以选择公共镜像:
easyswoolexuesi2021/easyswoole:php7.3.33-alpine3.12-swoole4.4.26
easyswoolexuesi2021/easyswoole:php7.4.33-alpine3.15-swoole4.4.26
easyswoolexuesi2021/easyswoole:php8.1.22-alpine3.16-swoole4.8.13
easyswoolexuesi2021/easyswoole:php8.1.22-alpine3.16-swoole5.1.1
easyswoolexuesi2021/easyswoole:php8.1.27-alpine3.18-swoole4.8.13
easyswoolexuesi2021/easyswoole:php8.1.27-alpine3.18-swoole5.1.1
easyswoolexuesi2021/easyswoole:php8.2.8-alpine3.18-swoole4.8.13
easyswoolexuesi2021/easyswoole:php8.2.8-alpine3.18-swoole5.1.1
easyswoolexuesi2021/easyswoole:php8.2.14-alpine3.19-swoole4.8.13
easyswoolexuesi2021/easyswoole:php8.2.14-alpine3.19-swoole5.1.1
easyswoolexuesi2021/easyswoole:php8.2.17-alpine3.19-swoole4.8.13
easyswoolexuesi2021/easyswoole:php8.2.17-alpine3.19-swoole5.1.1
easyswoolexuesi2021/easyswoole:php8.3.4-alpine3.19-swoole5.1.2
cd /var/www/project
composer require easyswoole/easyswoole
php vendor/bin/easyswoole.php install
# php vendor/bin/easyswoole install # 当你项目中的 EasySwoole 框架本低于 3.7.1 时
注意,在部分环境下,例如
Win10
系统的docker
环境。 不可把虚拟机共享目录作为EasySwoole
的Temp
目录,将会因为权限不足无法创建socket
。这将产生报错:listen xxxxxx.sock fail
, 为此可以手动在dev.php
配置文件里把Temp
目录(TEMP_DIR
配置项)改为其他路径即可,如:'/tmp'
。
cd /var/www/project
php easyswoole.php server start
# php easyswoole server start # 当你项目中的 EasySwoole 框架本低于 3.7.1 时
接下来,就可以在宿主机 /var/www/project
中看到您安装好的代码了。 由于 EasySwoole
是持久化的 CLI 框架,当您修改完您的代码后,通过 CTRL + C
终止当前启动的进程实例,并重新执行 php easyswoole server start
启动命令即可。
标签格式:
- 7.4: php 版本,支持 7.3/7.4/8.1/8.2,建议 7.4
- 3.12: alpine 系统版本,支持 alpine 3.12/3.15/3.16/3.18,建议 3.15
- 4.4.26: php swoole 扩展版本
支持的 Dockerfile
文件链接:
添加 Dockerfile 到你的项目中即可。
基础镜像包含如下扩展:
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
fileinfo
filter
gd
hash
iconv
igbinary
json
libxml
mbstring
mongodb
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
SimpleXML
sockets
sodium
SPL
standard
swoole
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache