安装环境说明:
Linux用户只能使用Linux版本的Workerman。
1、安装PHP>=5.4,并安装了pcntl、posix扩展
2、建议安装event扩展,但不是必须的(注意event扩展需要PHP>=5.4)
Linux环境检查脚本
Linux用户可以运行以下脚本检查本地环境是否满足WorkerMan要求
curl -Ss https://www.workerman.net/check | php
如果脚本中全部提示ok,则代表满足WorkerMan运行环境.
查看php版本:
root@e41c67052227:/var/www/html# php -v
PHP 7.3.29 (cli) (built: Aug 17 2021 13:54:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.29, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans
运行环境检查脚本:
root@e41c67052227:/var/www/html# curl -Ss https://www.workerman.net/check | php
PHP Version >= 5.4.0 [OK]
Extension pcntl check [fail]
Extension posix check [OK]
可以看到运行环境检查脚本主要检查了三个选项:
可以看到我们服务器中的php没有安装pcntl扩展。
安装缺失扩展
安装php扩展大家可以根据自己的环境却搜索对应的安装方法。
我这里的环境是在docker下安装的,如果是使用docker环境运行php,安装扩展比较简单:
通过docker-php-ext-install命令安装即可。
root@e41c67052227:/var/www/html# docker-php-ext-install pcntl
Configuring for:
PHP Api Version: 20180731
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
xxx省略安装输出
我们执行php命令查看扩展安装结果:
root@e41c67052227:/var/www/html# php -m | grep pcntl
pcntl
可以看到pcntl扩展已安装成功。
我们再次运行环境检测脚本测试:
root@e41c67052227:/var/www/html# curl -Ss https://www.workerman.net/check | php
PHP Version >= 5.4.0 [OK]
Extension pcntl check [OK]
Extension posix check [OK]
可以看到,以上的三个条件都显示OK,代表们的环境通过了Workerman的环境检查。
下面对这两个扩展进行简说明:
pcntl扩展
pcntl扩展是PHP在Linux环境下进程控制的重要扩展,WorkerMan用到了其进程创建、信号控制、定时器、进程状态监控等特性。
posix扩展
posix扩展使得PHP在Linux环境可以调用系统通过POSIX标准提供的接口。WorkerMan主要使用了其相关的接口实现了守护进程化、用户组控制等功能。
注意:以上两个扩展都只支持Linux平台,不支持Windows,因此也推荐大家在Linux平台运行Workerman。