Think-Swoole怎么安装
创始人
2024-11-24 08:42:16
0次

Swoole 是 PHP 的一个扩展,因此安装 Swoole 本质上就是安装一个 PHP 扩展。Swoole 仅支持 Linux、FreeBSD、MacOS 三种操作系统。

安装准备

安装前必须保证系统已经安装了下列软件

php-7.1 或更高版本
gcc-4.8 或更高版本
make
autoconf

一般情况下前三个都已安装,需要安装 autoconf 这个工具。

Linux:yum install autoconf
Mac:brew install autoconf

安装 PHP 的 Swoole 扩展

1、下载 Swoole

下载地址:https://github.com/swoole/swoole-src/releases

一般情况下,下载最新版本即可。

2、解压到 PHP 扩展目录中,例如我的解压路径是:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/

解压出来的目录可以命名为 swoole 。

3、进入到解压的 swoole 目录中,执行 phpize 命令,若该命令没有添加到环境变量的话,可以执行绝对路径

sudo /Applications/MAMP/bin/php/php7.2.10/bin/phpize

由于我的电脑上存在多个 PHP 版本,所以我指定了现在使用的版本来执行命令。

命令路径:/php安装目录/bin/phpize

4、执行命令:

./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.10/bin/php-config --enable-openss --enable-http2

具体路径根据实际情况修改。

5、执行命令:

make && make install

成功后,会出现安装的地址,例如我的地址是:

/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/

进入这个目录,看里面是否有 swoole.so 。

6、在 php.ini 中添加 swoole 扩展。

一定要选择当前使用的 PHP 版本配置文件,可以使用 php --ini 命令查看。我的是在:

/Applications/MAMP/bin/php/php7.2.10/conf/php.ini

打开 php.ini 文件,添加扩展:

extension=”/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718/swoole.so”

如果使用 MAMP 集成环境的话,除了修改上述 php.ini 文件,还需要修改集成环境动态配置的 php.ini 文件,可在面板 php 选项中点击版本后的箭头,或者 File -> Edit Template -> PHP -> PHP 7.xx -> php.ini 进行修改。

7、安装完成,执行命令:

php -m

看列表中是否有 swoole 模块,若有则安装成功。

执行 php --ri swoole 命令,可查看 swoole 相关信息。

8、测试

进入到下面的路径,具体根据实际修改:

/Applications/MAMP/bin/php/php7.2.10/include/php/ext/swoole/examples/server

里面有个 echo.php 文件,打开后看到有一行代码:

$serv = new swoole_server("0.0.0.0", 9501);

意思是监听所有 IP ,端口号为9501。

在命令行中,输入命令:

php echo.php

若命令在执行中,没有光标,也不报错,那么新建命令窗口,并输入如下命令:

Linux:
netstat -anp | grep 9501
Mac:
ps -ef | grep 9501

可以看到这个进程已经在执行中了,并且有 pid 进程号,测试成功!

在 ThinkPHP 框架中安装 Think-Swoole 扩展

PHP 扩展安装好之后,就要在框架中安装扩展了。

首先,我们要先下载好 ThinkPHP 框架(Think-Swoole 扩展目前支持ThinkPHP 5.1 和 ThinkPHP 6,为了演示一些新功能,后面文章中将会使用最新的 ThinkPHP 6 框架),然后到框架根目录下执行 Think-Swoole 的安装命令:

ThinkPHP 5.1 安装命令

ThinkPHP 6 安装命令

安装完成后,执行命令:

php think swoole

若看到下图提示,则插件可以正常使用:

Think-Swoole怎么安装

错误一:

我安装好执行上述命令的时候报错了,查看报错提示,发现是不能使用 Xdebug 这个插件,关闭就可以了。MAMP 环境下,在 php 选项里可直接关闭。

错误二:

[Swoole\Exception]
failed to listen server port[127.0.0.1:80], Error: Permission denied[13]

打开 app/config/swoole.php ,可以看到 port 对应的是 80 端口,因为 Linux 和 Mac 中,1024 及以下端口只有超级管理员有使用权限,因此可将端口改为 9501 即可( host 默认是 127.0.0.1 ,代表监听本地地址,这里顺便更改为 0.0.0.0 ,表示监听所有地址)。

swoole 服务开启后,来测试一下,浏览器中输入 127.0.0.1:9501 ,则可以正常访问:

Think-Swoole怎么安装

同时这也表明,Swoole 自带 HTTP Server,帮我们打开了一个 http 服务,作用等效于 Apache 和 Nginx。

至此,Think-Swoole 插件安装完成。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...