lnmp 环境下安装swoole步骤

本文详细介绍了在LNMP环境下安装Swoole扩展的过程,包括下载源码、配置环境、编译安装及配置php.ini。并通过一个简单的TCP服务示例展示了Swoole的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、我的基础环境
PHP:7.2.19 mysql:5.7.26 nginx:1.16.1
意见安装lnmp环境
https://lnmp.org/install.html
二:安装swoole
1、首先去GitHub下载一份swoole的源码随意放置位置https://github.com/swoole/swoole-src/releases; 注意!!下载的版本是4.4.4.
2、上传压缩包到服务器上
在这里插入图片描述
[root@localhost /]# cd /root
[root@localhost root]# tar -xvf swoole-src-4.4.4.tar.gz
[root@localhost root]# cd swoole-src-4.4.4
[root@localhost swoole-src-4.4.4]# phpize
[root@localhost swoole-src-4.4.4]# ./configure
[root@localhost swoole-src-4.4.4]# make
[root@localhost swoole-src-4.4.4]# sudo make install

注意!! 在执行./configure的时候容易会出现如下错误

configure: error: Cannot find PHP-config. Please use --with-php-config=PATH
问题的意思就是因为PHP的配置文件没有找到,需要额外的指定如下

[root@localhost swoole-src-4.4.4]# ./configure --with-php-config=/usr/local/php/bin/php-config
你可以通过下面的命令既可以查找到php-config的文件地址
在这里插入图片描述
[root@localhost swoole-src-4.4.4]# find / -name php-config
/usr/local/php/bin/php-config

所以我的安装执行是

[root@localhost swoole-src-4.4.4]# ./configure --with-php-config=/usr/local/php/bin/php-config(上面查到的地址)
[root@localhost swoole-src-4.4.4]# make
[root@localhost swoole-src-4.4.4]# sudo make install

如下便是执行安装,并且安装到了PHP的环境目录中了;最后执行配置好php.ini在里面添加swoole的扩展即可

[root@localhost swoole-src-4.4.4]# find / -name php.ini
/usr/local/php/etc/php.ini

[root@localhost swoole-src-4.4.4]# vi /usr/local/php/etc/php.ini

添加

extension=swoole.so
然后通过php -m检测

在这里插入图片描述

最后就是重启即可

[root@localhost swoole-src-4.4.4]# lnmp php-fpm restart
Reload service php-fpm done

在这里插入图片描述

  1. swoole初体验
    我们可以根据官方网址所介绍的方式做一个swoole的基本初体验;

https://wiki.swoole.com/wiki/page/476.html

使用官方网址中提供的例子来做一个初体验的测试:

swoole_service_tcp.php

<?php $serv = new Swoole\Server("127.0.0.1", 9501); //监听连接进入事件 $serv->on('Connect', function ($serv, $fd) { echo "Client: Connect.\n"; }); //监听数据接收事件 $serv->on('Receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, "Server: ".$data); }); //监听连接关闭事件 $serv->on('Close', function ($serv, $fd) { echo "Client: Close.\n"; }); //启动服务器 $serv->start(); ?>

在这里插入图片描述

首先可以通过cgi的方式运行程序,然后通过netstat可以用来查看运行程序

[root@localhost 192.168.153.128]# php swoole_service_tcp.php
[root@localhost ~]# netstat -an | grep 9501
tcp 0 0 127.0.0.1:9501 0.0.0.0:* LISTEN

创建客户端 https://wiki.swoole.com/wiki/page/482.html

swoole_client_tcp.php

<?php $client = new swoole_client(SWOOLE_SOCK_TCP); //连接到服务器 if (!$client->connect('127.0.0.1', 9501, 0.5)) { die("connect failed."); } //向服务器发送数据 if (!$client->send("hello world")) { die("send failed."); } //从服务器接收数据 $data = $client->recv(); if (!$data) { die("recv failed."); } echo $data; //关闭连接 $client->close(); ?>

在这里插入图片描述

在这里插入图片描述

可以看到有信息,然后去看看服务端

[root@localhost 192.168.153.128]# php swoole_service_tcp.php
Client: Connect.
Client: Close.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值