Laravel / Lumen更新至5.5,路由中断

时间:2019-02-23 16:09:38

标签: laravel routing lumen

我已经将Lumen项目升级到5.5版本,并且路由似乎已损坏。 我输入的每个URL都返回默认的'/'路由,定义为:

$router->get('/', function () use ($router) {
    return $router->app->version();
});

尝试击中 / example 时,流明不会触发404错误,它只会返回我的'/'路线的内容。

这不是网络服务器配置问题:,因为它在升级之前运行良好,并且对于运行从5.2到5.6版本的其他流明项目仍然可以正常工作。

是的,/ routes / web.php在/config/app.php中定义为路由文件

经过几次测试,结果表明请求uri在流明中始终显示为“ /”。 当我在第156行的“ /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php”中打印 $ method $ pathInfo 时,它为我< / p>

string(3) "GET" # for $method
string(1) "/" # for $pathInfo

所以我的问题是,需要在请求类上执行的文档中是否缺少我所做的任何更改?为什么会发生这种情况?我是否需要从头开始创建项目并仅移动控制器?

谢谢您的时间!

更新:根据Styx的要求,这是Web服务器配置,Im'对在不同版本上运行的许多Lumen项目使用相同的配置,并且路由对它们都不是问题,除了我们正在谈论的那个。

对于包含所有项目的目录:

<Directory "C:\Users\[user]\Desktop\projets">
    AllowOverride all
    Options Indexes FollowSymLinks ExecCGI
    Order deny,allow
    Allow from all
</Directory>

vhost的附加指令:

<VirtualHost *:80>
    DocumentRoot "C:\Users\pa.thiout\Desktop\projets\projet\public"
    ServerName back
</VirtualHost>

更新:我决定拉出另一个新的5.7 Lumen项目,然后重新安装composer软件包并移动代码。效果很好。

1 个答案:

答案 0 :(得分:1)

我知道这个主题可能有点古老,但是如果有人遇到此错误,这可能会有所帮助。

问题出在public / index.php上,应该只有:

$app->run();

我在安装了新的流明安装程序(5.5)并像在Git的帮助下一样将所有内容替换回去之后发现了这一点。具有讽刺意味的是,一小段代码如何使您整个早晨变得松懈。

index.php Git Diff

位于我之前的NOT WORKING代码的左侧,而右侧则为有效的代码。