Code前端首页关于Code前端联系我们

Think-Swoole组件:您的ThinkPHP应用程序协程

terry 2年前 (2023-09-24) 阅读数 74 #后端开发

早期版本ThinkPHP主要运行在PHP-FPM♷模式。为了解决长连接、高并发、阻塞的问题IOThinkPHP官方为底层提供了Think-Swo。适配 Swoole 协程允许 ThinkPHP 一键协程化应用程序。

GitHub地址

  • ThinkPHP
  • Think-Swoole

创建ThinkPHP项目

composer create-project topthink/think tp

使用♷命令快速创建

ThinkPHP

新建项目。如果您已有项目,可以跳过此步骤。

介绍 Think-Swoole 组件

composer require topthink/think-swoole

启动 HTTP 服务

直接从命令行启动服务器 HTTP

php think swoole

初始化完成后,HTTP Server默认启动于0.0.0.0:80,可直接访问当前应用程序。相应的配置参数可以在config/swoole.php中配置(详细阅读配置文件内容)。

如果Nginx 已安装在此计算机上,80 可能已处于控制之中。启动后可以编辑 config/swoole.php 设置为其他端口

http://127.0.0.1:9580/ 程序访问 因为 Swoole 服务运行 PHP 打开常驻内存中的文件 这样可以避免重复的磁盘读取、解释和顶层编译。因此,更改业务代码后,您必须手动重新加载重启才能生效。

Think-Swoole提供热量更新功能。检测到相关目录下的文件有更新后,会自动reload,这样就不需要手动reload,方便开发调试。

如果您的应用启用了调试模式,则默认启用热更新。原则上不建议在部署模式下开启文件监控。一方面,会造成性能损失,另一方面,对文件所做的任何修改都必须在部署更新之前得到确认。

热更新的默认配置如下:

'hot_update' => [
    'enable' => env('APP_DEBUG', false),
    'name' => ['*.php'],
    'include' => [app_path()],
    'exclude' => [],
],

当我们在应用根目录下定义一个特殊的环境变量文件.env时,在应用程序根目录,设置♷”‷ 默认启用热更新。您也可以直接将active设置为true

连接池

Think-Swoole实现数据库连接池功能,包括MySQL、♷♷、♷等。 使用连接池需要启用Swoole一键协程。需要配置以下参数:

'coroutine' => [
    'enable' => true,
    'flags' => SWOOLE_HOOK_ALL,
],

连接池配置参数如下:

'pool' =>[
    'db' => [
        'enable' => true,
        'max_active' => 3,
        'max_wait_time' => 5,
    ],
    'cache' => [
        'enable' => true,
        'max_active' => 3,
        'max_wait_time' => 5,
    ],
],

参数说明:

  • enable:是否启用连接池
  • maximum_enable:maximum_connection ,超过
  • max_wait_time:超时,单位为秒

max_activemax_wait_time 您需要设置最大值 您需要设置您的连接时间业务和环境最大化系统负载

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门