webman升级命令 执行后有问题

1619443919

一直使用的webman的1.0.10版本 看到1.2.0后发布了挺多插件的 今天想尝下?
按文档命令搞一下
composer require workerman/webman-framework ^1.3.0 && composer require webman/console ^1.0.16 && ./webman install
看到webman-framerwork 和 webmanc/console执行是ok的 最后一句 install出了问题

35 packages you are using are looking for funding.
Use the composer fund command to find out more!
-bash: ./webman: No such file or directory

我把webman再次启动也没报错,就是这个./webman install执行报错 我怀疑我这次升级没成功?
目前已经查了原来版本是
workerman/webman-framework v1.0.10 High performance HTTP Service Framework
升级后是
workerman/webman-framework v1.3.6 High performance HTTP Service Framework.

说实在的 我有点担心 因为我去年安装webman的时候看文档这个目录结构 和现在文档写的的目录结构区别还是有的 ,这个升级命令 看着有点担心

1371 1 0
1个回答

walkor

将 vendor/webman/console/src/webman 拷贝到 项目根目录下,然后执行 ./webman install

  • 1619443919 2022-03-28

    执行后报错了

    PHP Warning: require_once(xxxxx/webman/support/bootstrap.php): failed to open stream: No such file or directory

    我是很早之前的webman现在结构估计有变化了 我记得全段时间有个那个升级命令 说是把啥目录搬过去吧

  • walkor 2022-03-28

    1.0的webman升级,重新创建个项目,然后把app目录搬过去吧。
    composer require workerman/webman-framework ^1.3.0 && composer require webman/console ^1.0.16 && ./webman install 是1.2的升级命令

  • 1619443919 2022-03-28

    老大写个文档咯 关于哪个版本的升级教程

  • 1619443919 2022-03-28

    我觉得你出的教程 能让我们少走很多弯路 搞的时候有啥注意事项啥的

  • walkor 2022-03-28

    我的事情实在太多了,没办法把所有版本升级教程都写出来哈,欢迎分享你的升级教程,也能让很多开发者少走弯路。

  • 1619443919 2022-03-28

    好吧 任重道远 趴在这个1.0版本做了很长一段时间的开发 我试试

  • 1619443919 2022-03-29

    背景:我们期初一直是用1.0.10的webman开发程序 稳定跑了大约8个月了 也做了很多东西在里面 ,当时webman还没做插件支持,例如:命令行插件 action-hook插件 redis队列插件,thinkorm插件,thinkvalidate插件等等都没有。
    当时的文档介有说明怎么去使用think-orm,以及think-template等。
    文档或者问答没有的只能自己去实现,比如怎么把gatewayworker搞进去。

    也正是这些原因可能会给你升级到3.0带来一些麻烦,建议先看看https://github.com/walkor/webman/releases。

    来经过实践从1.0.10 升级到1.3.6

    1 按照最新版的https://workerman.net/doc/webman/install.htm来安装一个新的webman,我安装的是1.3.6的webman

    2 把新的webman下的app删除,把1.0的app目录搬过去。
    a 如果你app内的部分文件使用了use support\bootstrap\xxx 你得改成support\xxx,比如想用redis,你可能就use support\Redis了,你得改成user support\Redis;

    b 如果有use support\bootstrap\Container得删了或者注释,比如中间件目录app\middleware]\内的文件,按当时的文档搞的中间件 很可能就用了use support\bootstrap\Container

    我就发现这些,不确定还有其他的没有

    3 把config/下的部分文件搬过去, 我这边是把3.0下webman/config/目录下没有的文件直接复制过去了,其他文件3.0的config/下的文件要改改,一般是那些你在1.0里配置过的文件,你直接改改文件里的配置项。比如:bootstrap.php , database.php,middleware.php,process.php,redis.php, session.php,route.php, view.php等

    着重要强调的是4个文件 bootstrap.php, process.php ,middleware.php ,route.php,你得自己花点时间琢磨下

    4 composer 安装下那些你用到的包

    5 一些特殊插件
    一个action-hook ,一个 redis队列,一个是think-orm插件
    如果你用到了beforeAction 和 afterAction 必须安装action-hook插件 composer require webman/action-hook

    如果你用到了以前的redis队列必须安装redis队列,composer require webman/redis-queue,如果你process.php内自定义了redis_consumer,想继续用,你就把config/plugin/webman/redis-queue/app.php里的enable改成false,或者删了process.php的redis_consumer,配置下config/plugin/webman/redis-queue/process.php

    如果你用到了think-orm你必须安装composer require webman/think-orm,配置文件还是config目录下里的thinkorm.php

    我这样就差不多了,你们的情况不一样的话 可能会还有一些东西要搞搞,反正你就php star.php start 去调试 看看报错在哪里去找

  • walkor 2022-03-29

    感谢分享

  • 1619443919 2022-03-29

    哈哈 昨晚升级的 我也不晓得有没有遗漏啥

年代过于久远,无法发表回答
🔝