MAMP PHP环境安装 pcntl 扩展学习 Workerman即时通讯框架
Workerman是一款开源高性能异步PHP socket框架,在学习的过程中首先得PHP 环境的支持,在 macOS 下的 MAMP Pro 默认的 PHP 环境中并没有安装 pcntl 模块,需要安装该模块才能启动 Workerman。
一、什么是Workerman
Workerman是一款开源高性能异步PHP socket框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。
二、切换 PHP 版本为 MAMP 指定的
macOS 系统自带PHP环境,后为开发方便,安装了 MAMP Pro 软件,在终端运行php -v
,可查看到 macOS 自带的 PHP 版本,切换 PHP 版本为 MAMP 指定的版本步骤如下:
1、终端输入代码来编辑 .bash_profile 文件,该文件可以不存在,就创建新文件
sudo vim ~/.bash_profile
2、把环境变量代码添加到 .bash_profile 文件里
export PATH="/Applications/MAMP/bin/php/php7.4.2/bin:$PATH"
注:注意 PHP 版本的路径和版本号
3、执行文件,使起生效
source .bash_profile
4、检查是否生效(检验一)
php -v
5、环境变量指向地址(检验二)
which PHP
三、安装 pcntl 模块
1、使用php -v
命令查看当前的PHP CLI的版本
~# php -v
2、根据版本下载PHP源代码
PHP历史版本下载页面:http://php.net/releases/,比如 PHP 版本为 7.4.2,则下载 php7.4.2.tar.gz。
3、解压源码压缩包
可使用命令:
~# tar -zxvf php7.4.2.tar.gz
也可以直接在目录下解压,替换
4、进入源码中的ext/pcntl目录
~# cd /Applications/MAMP/bin/php/php7.4.2/ext/pcntl
5、运行 phpize 命令
~# phpize // 显示内容: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
6、运行 configure命令
~# ./configure // 显示内容: checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E ...
如果下一步出现错误:
'php.h' file not found
需执行:
~# ./configure --with-php-config=/Applications/MAMP/bin/php/php7.4.2/bin/php-config --prefix=/Applications/MAMP/bin/php/php7.4.2/bin/php
7、运行 make 命令
~# make // 显示内容: /bin/bash /tmp/ph7.4.2/ext/pcntl/libtool --mode=compile cc ... -I/usr/include/php7 -I/usr/include/php7/main -I/usr/include/php5/TSRM -I/usr/include/php7/Zend... ...
8、运 行make install 命令
~# make install // 显示内容: Installing shared extensions: /usr/lib/php7/20090626/
9、配置php.ini
文件
通过运行 php --ini查找php.ini文件位置:/Applications/MAMP/bin/php/php7.4.2/conf/php.ini
,不是 MAMP 面板上打开的 php.ini,然后在文件中添加extension=pcntl.so
extension=pcntl.so
说明: 此方法一般用来安装PHP自带的扩展,例如posix扩展和pcntl扩展。除了用phpize编译某个扩展,也可以重新编译整个PHP,在编译时用参数添加扩展,例如在源码根目录运行
~# ./configure --enable-pcntl --enable-posix ... ~# make && make install
四、启动 Workerman
环境准备好,进入 Workerman 根目录,在终端执行:
php start.php start
就可以启动 Workerman