项目部署后控制器文件首字母小写会报错,最近webman是有什么变动吗?

kspade

项目部署后控制器文件首字母小写会报错,最近webman是有什么变动吗?

最近webman是不是有什么依赖插件 进行了一些更新?
我PHP环境是自己打包的docker 环境 一直都没有动过,之前项目拉起运行一直正常
就这两天发现一个问题:

问题1 我的控制文件目录:
/app/api/controller/verify.php (注意这个文件首字母为:小写)

当我使用:$request->controller 时 返回的路径为:
/app/api/controller/Verify.php (自动给的大写 首字母 ,以前是小写)

问题2
我在:/app/api/controller/verify.php
中写了一个方法名为:

public function index(Request $request){ 
}

以前我只需要访问:
域名/api/verify 他就可以自动响应的index ,
现在不行必须得:域名/api/verify/index 才行 不加index 就会报错404 (我得把verify.php 这个文件的首字母改为大写,才可以)

请问这是webman的某些核心依赖变化的原因?还是linux 系统版本的问题?(比如严格区分大小写什么的)

312 1 0
1个回答

walkor

刚发布了一个版本,内核合并了一个开发者的pr,可能是那个pr导致的。我看下

  • kspade 2023-07-21

    似乎不是刚刚的我是一个5月份开源的项目,目前有100多个用户在使用,之前一直没事,就这2天时不时有用户来反应部署后,登录页面报错,诸多接口404
    于是我今天去检查了以下,因为我的某些逻辑调用了:$request->controller 判断文件路径
    我就发现了控制器首字母自动变成了大写(实际我文件名是小写,请求url也是小写)因此导致了许多报错问题

  • kspade 2023-07-21

    虽然我可以修改控制器文件 为大写,但是代码逻辑中。许多地方难得去改。,而且也找不完 太多文件了
    所以我想知道是不是某个依赖之类的原因导致的,我直接把依赖包固定一个版本即可

  • walkor 2023-07-21

    运行 composer info | grep webman 贴下

  • kspade 2023-07-21

    tinywan/storage 1.0.0 webman storage plugin
    webman/captcha v1.0.2 Captcha generator
    webman/console v1.2.36 Webman console
    webman/gateway-worker v1.0.8
    webman/push v1.0.16
    webman/redis-queue v1.2.4 Redis message queue plugin for webman.
    webman/think-cache v1.0.2
    webman/think-orm v1.1.1
    workerman/webman-framework v1.5.7 High performance HTTP Service Framework.

  • walkor 2023-07-21

    先用 workerman/webman-framework v1.5.6

  • kspade 2023-07-21

    的确是这个的原因,解决了

🔝