PHPackages                             tinymeng/think-swoole - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. tinymeng/think-swoole

ActiveLibrary

tinymeng/think-swoole
=====================

Swoole extend for thinkphp

v3.0.9(5y ago)15Apache-2.0PHPPHP &gt;7.1

Since Oct 5Pushed 2y agoCompare

[ Source](https://github.com/majiameng/think-swoole)[ Packagist](https://packagist.org/packages/tinymeng/think-swoole)[ RSS](/packages/tinymeng-think-swoole/feed)WikiDiscussions tinymeng Synced 4d ago

READMEChangelogDependencies (6)Versions (36)Used By (0)

ThinkPHP Swoole 扩展
==================

[](#thinkphp-swoole-扩展)

交流群：787100169 [![点击加群](https://camo.githubusercontent.com/75b53e353bb9e5064662e185a6d39f4bb88c4e45bd3a1240ddf599525edb6afa/68747470733a2f2f7075622e69647171696d672e636f6d2f7770612f696d616765732f67726f75702e706e67 "点击加群")](https://jq.qq.com/?_wv=1027&k=VRcdnUKL)

安装
--

[](#安装)

首先按照Swoole官网说明安装swoole扩展，然后使用

```
composer require topthink/think-swoole

```

安装swoole扩展。

使用方法
----

[](#使用方法)

直接在命令行下启动HTTP服务端。

```
php think swoole

```

启动完成后，默认会在0.0.0.0:8080启动一个HTTP Server，可以直接访问当前的应用。

swoole的相关参数可以在`config/swoole.php`里面配置（具体参考配置文件内容）。

如果需要使用守护进程方式运行，建议使用supervisor来管理进程

访问静态文件
------

[](#访问静态文件)

> 4.0开始协程风格服务端默认不支持静态文件访问，建议使用nginx来支持静态文件访问，也可使用路由输出文件内容，下面是示例，可参照修改

1. 添加静态文件路由：

```
Route::get('static/:path', function (string $path) {
    $filename = public_path() . $path;
    return new \think\swoole\response\File($filename);
})->pattern(['path' => '.*\.\w+$']);
```

2. 访问路由 `http://localhost/static/文件路径`

队列支持
----

[](#队列支持)

> 4.0开始协程风格服务端没有task进程了，使用think-queue代替

使用方法见 [think-queue](https://github.com/top-think/think-queue)

以下配置代替think-queue里的最后一步:`监听任务并执行`,无需另外起进程执行队列

```
return [
    // ...
    'queue'      => [
        'enable'  => true,
        //键名是队列名称
        'workers' => [
            //下面参数是不设置时的默认配置
            'default'            => [
                'delay'      => 0,
                'sleep'      => 3,
                'tries'      => 0,
                'timeout'    => 60,
                'worker_num' => 1,
            ],
            //使用@符号后面可指定队列使用驱动
            'default@connection' => [
                //此处可不设置任何参数，使用上面的默认配置
            ],
        ],
    ],
    // ...
];
```

支持`symfony/var-dumper`
----------------------

[](#支持symfonyvar-dumper)

由于应用是通过php cli启动的，所以默认`symfony/var-dumper`会将调试信息打印在控制台, 通过配置中间件来支持将调试信息输出在网页上 如下是直接在配置在全局中间件上，也可以在路由定义的时候配置

```
// app/middleware.php
