LaravelS 配置项

  • listen_ipstring 监听的IP,监听本机127.0.0.1(IPv4) ::1(IPv6),监听所有地址 0.0.0.0(IPv4) ::(IPv6), 默认127.0.0.1

  • listen_portint 监听的端口,如果端口小于1024则需要root权限,默认 5200

  • socket_type:默认SWOOLE_SOCK_TCP。通常情况下,无需关心这个配置。若需Nginx代理至UnixSocket Stream文件,则需修改为SWOOLE_SOCK_UNIX_STREAM,此时listen_ip则是UnixSocket Stream文件的路径。

  • enable_coroutine_runtimebool 是否启用运行时协程,需Swoole>=4.1.0,默认false

  • serverstring 当通过LaravelS响应数据时,设置HTTP头部Server的值,若为空则不设置,默认 LaravelS

  • handle_staticbool 是否开启LaravelS处理静态资源(要求 Swoole >= 1.7.21,若Swoole >= 1.9.17则由Swoole自己处理),默认false,建议Nginx处理静态资源,LaravelS仅处理动态资源。静态资源的默认路径为base_path('public'),可通过修改swoole.document_root变更。

  • laravel_base_pathstring Laravel/Lumen的基础路径,默认base_path(),可用于配置符号链接

  • inotify_reload.enablebool 是否开启Inotify Reload,用于当修改代码后实时Reload所有worker进程,依赖库inotify,通过命令php —ri inotify检查是否可用,默认false建议仅开发环境开启修改监听数上限

  • inotify_reload.watch_pathstring Inotify 监控的文件路径,默认有base_path()

  • inotify_reload.file_typesarray Inotify 监控的文件类型,默认有.php

  • inotify_reload.excluded_dirs: array Inotify 监控时需要排除(或忽略)的目录,默认[],示例:[base_path('vendor')]

  • inotify_reload.logbool 是否输出Reload的日志,默认true

  • event_handlersarray 配置Swoole的事件回调函数,key-value格式,key为事件名,value为实现了事件处理接口的类,参考示例

  • websocket.enablebool 是否启用WebSocket服务器。启用后WebSocket服务器监听的IP和端口与Http服务器相同,默认false

  • websocket.handlerstring WebSocket逻辑处理的类名,需实现接口WebSocketHandlerInterface,参考示例

  • socketsarray 配置TCP/UDP套接字列表,参考示例

  • processesarray 配置自定义进程列表,参考示例

  • timerarray 配置毫秒定时器,参考示例

  • eventsarray 自定义的异步事件和监听的绑定列表,参考示例

  • swoole_tablesarray 定义的swoole_table列表,参考示例

  • cleanersarray 每次请求的清理器列表,用于清理一些残留的全局变量、单例对象、静态属性,避免多次请求间数据污染。这些清理器类必须实现接口Hhxsv5\LaravelS\Illuminate\Cleaners\CleanerInterface。清理的顺序与数组的顺序保持一致。这些清理器默认已启用。

    1. //...
    2. 'cleaners' => [
    3. //Hhxsv5\LaravelS\Illuminate\Cleaners\SessionCleaner::class, // 如果你的项目中使用到了Session或Authentication,请解除这行注释
    4. //Hhxsv5\LaravelS\Illuminate\Cleaners\AuthCleaner::class, // 如果你的项目中使用到了Authentication或Passport,请解除这行注释
    5. //Hhxsv5\LaravelS\Illuminate\Cleaners\JWTCleaner::class, // 如果你的项目中使用到了包"tymon/jwt-auth",请解除这行注释
    6. //...
    7. ],
    8. //...
  • register_providersarray 每次请求需要重新注册的Service Provider列表,若存在boot()方法,会自动执行。一般用于清理注册了单例的ServiceProvider
    1. //...
    2. 'register_providers' => [
    3. \Xxx\Yyy\XxxServiceProvider::class,
    4. ],
    5. //...