Swoole:面向生产环境的 PHP 异步网络通信引擎
使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
官方安装命令:pecl install swoole
在本机执行pecl命令后发现报错,于是重新安装pecl:
下载PECL:
$ curl -O https://pear.php.net/go-pear.phar
安装PECL:
$ sudo php -d detect_unicode=0 go-pear.phar
# 安装PECL成功后,执行PECL仍然报错:
$ pecl
Could not open input file: /usr/local/lib/php/peclcmd.php
# 查看pecl命令脚本路径
$ which pecl
/usr/local/bin/pecl
# 查看pecl脚本
$ vim /usr/local/bin/pecl
在脚本最后peclcmd.php文件,脚本中使用的peclcmd.php路径是/usr/lib/php/peclcmd.php,可是这个路径并没有这个文件。可可以用 ll /usr/lib/php/peclcmd.php查看,得到
$ ls: /usr/lib/php/peclcmd.php: No such file or directory。
解决
先查找peclcmd.php文件的路径
find/ -name peclcmd.php
# 输出如下结果
/usr/local/Cellar/php@7.1/7.1.16/share/pear/peclcmd.php
得知peclcmd.php的路径为/usr/share/pear/peclcmd.php。
然后将此路径软连接到pecl命令需要的路径/usr/lib/php/peclcmd.php。
$ sudo ln -s /usr/local/Cellar/php@7.1/7.1.16/share/pear/peclcmd.php /usr/local/lib/php/peclcmd.php
# 再次执行pecl命令:
$ pecl