如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
topthink
V2EX  ›  推广

ThinkPHP5.1.18 版本发布——完善 Swoole/Workerman 支持

  •  
  •   topthink · Jun 30, 2018 · 5712 views
    This topic created in 2877 days ago, the information mentioned may be changed or developed.

    该版本主要完善了对SwooleWorkermanHttpServer运行支持,改进Request类,并修正了一些已知的问题。

    主要更新

    • 改进关联append方法的处理
    • 路由初始化和检测方法分离
    • 修正destroy方法强制删除
    • app_init钩子位置移入run方法
    • think-swoole扩展更新到 2.0 版本
    • think-worker扩展更新到 2.0 版本
    • 改进 Url 生成的域名自动识别
    • Request类增加setPathinfo方法和setHost方法
    • Request类增加withGet/withPost/withHeader/withServer/withCookie/withEnv方法进行赋值操作
    • Route 类改进host属性的获取
    • 解决注解路由配置不生效的问题
    • 取消 Test 日志驱动,改为使用close设置关闭全局日志写入
    • 修正路由的response参数
    • 修正 204 响应输出的判断

    Swoole/Workerman 支持

    该版本开始,可以更好的支持 Swoole 和 Workerman 的 HTTPServer 运行。

    在你的项目根目录下面,安装或者更新 think-swoole (或者 think-worker )扩展

    composer require topthink/think-swoole
    // 或者
    composer requrie topthink/think-worker
    

    然后启动 HttpServer 服务

    php think swoole
    // 或者
    php think worker
    

    官方完全开发手册已经同步更新!

    ThinkPHP 官方小组

    2018-6-30

    6 replies    2018-07-11 23:11:41 +08:00
    gouchaoer2
        1
    gouchaoer2  
       Jun 30, 2018 via Android
    支持 swoole/workerman 的话是不能有阻塞 io 的,而且 workerman 的回调和 swoole2 以上协程是很不一样的,thinkphp 能很好的支持么
    topthink
        2
    topthink  
    OP
       Jul 1, 2018
    @gouchaoer2 定位不同,TP 不是一个基于 swoole 或者 workerman 的框架,作为一个 HttpServer 并没有过多要求,有没有协程也不影响,而且很多开发过程需要注意的是应用自身开发需要注意的 和框架并无直接关系。不过扩展本身还会不断完善支持,这只是扩展第一个版本。
    shenzhe
        3
    shenzhe  
       Jul 2, 2018
    @topthink
    赞,让 tp 能跑在 swoole 里,应该也能得到直接的性能提升。

    异步协程这些,可以后续考虑哈~~~

    ^_^
    gouchaoer2
        4
    gouchaoer2  
       Jul 2, 2018 via Android
    @topthink swoole/workerman 里面不能有任何阻塞 io,不能说“没影响”,一旦阻塞了那么就会发生比 fpm 情况更糟的后果,因为别的 http 请求协程 /回调得不到调度。。。你可以试试在 benchmark 里面跑一些正常业务的 io 比如 sql 啥的。。。io 这个问题 fpm 都很吃力,在这里用阻塞啥的,我觉得不对
    wo642436249
        5
    wo642436249  
       Jul 11, 2018
    tp 跑在 swoole 上,使用路由的话出现了一些问题
    topthink
        6
    topthink  
    OP
       Jul 11, 2018
    @wo642436249 具体什么问题?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3073 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 13:15 · PVG 21:15 · LAX 06:15 · JFK 09:15
    ♥ Do have faith in what you're doing.