当前位置: 首页 > 后端技术 > PHP

《当 Swoole 遇上 ThinkPHP5》:你好世界!

时间:2023-03-30 05:42:36 PHP

《当 Swoole 遇上 ThinkPHP5》:你好,世界!本文假设您已经拥有Linux操作系统的PHP环境。强烈推荐使用Vagrant搭建开发环境,安装SwoolePECL。该扩展可以通过pecl命令编译安装,也可以通过源码包编译安装。本文使用pecl命令安装Swoole。在命令行输入$>peclinstallswoole安装SwoolePECL扩展。执行命令后,使用php-m命令查看Swoole是否安装成功。如果返回的扩展列表中有swoole,说明安装成功。可以使用phpinfo查看Swoole是否安装成功。安装ThinkPHP5Framework1.安装Composer如果您已经安装了Composer,则可以跳过此步骤,但请务必使用composerself-update命令,以确保您使用的是最新版本的Composer。使用以下命令直接从Composer官网下载Composer.phar并自动安装到/usr/local/bin/目录$>php-r"readfile('https://getcomposer.org/installer');"|php----install-dir=/usr/local/bin/--filename=composer$>composerself-update如果上面的安装过程特别慢,可以尝试通过下面的Composer国产镜像安装方式。$>php-r"readfile('http://install.phpcomposer.com/installer');"|php----install-dir=/usr/local/bin/--filename=composer$>composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com$>composerself-update2.安装ThinkPHP5框架使用以下命令将最新版本的ThinkPHP5框架安装到当前目录的thinkSwooleFirst文件夹中$>composercreate-projecttopthink/thinkthinkSwooleFirst--prefer-distinstallthink-swooleComposerpackage将命令行目录切换到thinkSwooleFirst目录,通过Composer安装think-swoole$>composerrequiretopthink/think-swooleinstallthink-swooleComposerpackageSwoole必须先安装PECL才能扩展HelloSwoole。环境搭建好后,我们在application/index/controller目录下创建一个Demon.php文件,用来编写Swoole和ThinkPHP5的TCP服务器的HelloWorld4,//daemonize'daemonize'=>是的,//监控队列的长度'backlog'=>128];/***接收信息时的回调函数*@param\swoole_server$servswoole_server对象*@param$fdTCP客户端连接的文件描述符*@param$from_idTCP连接的Reactor线程ID*@param$data接收到的数据内容*/publicfunctiononReceive(\swoole_server$server,$fd,$from_id,$data){$server->send($fd,'onReceive:'.$data);}}上面的代码使用ThinkPHP5和Swoole完成了一个比较简单的TCP服务器,然后就可以运行服务器,使用下面的命令启动TCP服务器$>phppublic/index.phpindex/Demon/start我们也可以修改配置项deamonize为false,使程序不使用daemon进程,更方便我们调试。使用daemon进程方式,我们还可以使用lsof工具检测端口是否正常$>lsof-i:9501当确认程序运行正常后,使用telnet工具连接TCP服务器.在后面的文章中,我们也会介绍如何使用swoole的TCP客户端连接TCP服务器。在telnet127.0.0.19501输入hello后,onReceive会得到如下结果:hello更完整的Swoole和ThinkPHP5例子见我的新书