一直使用的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的时候看文档这个目录结构 和现在文档写的的目录结构区别还是有的 ,这个升级命令 看着有点担心
将 vendor/webman/console/src/webman 拷贝到 项目根目录下,然后执行
./webman install
执行后报错了
PHP Warning: require_once(xxxxx/webman/support/bootstrap.php): failed to open stream: No such file or directory
我是很早之前的webman现在结构估计有变化了 我记得全段时间有个那个升级命令 说是把啥目录搬过去吧
1.0的webman升级,重新创建个项目,然后把app目录搬过去吧。
composer require workerman/webman-framework ^1.3.0 && composer require webman/console ^1.0.16 && ./webman install
是1.2的升级命令老大写个文档咯 关于哪个版本的升级教程
我觉得你出的教程 能让我们少走很多弯路 搞的时候有啥注意事项啥的
我的事情实在太多了,没办法把所有版本升级教程都写出来哈,欢迎分享你的升级教程,也能让很多开发者少走弯路。
好吧 任重道远 趴在这个1.0版本做了很长一段时间的开发 我试试
背景:我们期初一直是用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 去调试 看看报错在哪里去找
感谢分享
哈哈 昨晚升级的 我也不晓得有没有遗漏啥