Laravel /流明更新至5.5,路由中断

问题描述 投票:1回答:1

我已将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时,它会给我

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

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

谢谢您的时间!

根据Styx的要求,

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

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

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

以及虚拟主机的附加指令:

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

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

laravel routing lumen
1个回答
1
投票

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

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

$app->run();

我在安装了新的流明安装(5.5)并像在Git的帮助下一样将所有东西替换回去之后发现了这一点。.我在public / index.php上发现了巨大的差异。具有讽刺意味的是,一小段代码如何使您整个上午变得松懈。

index.php Git Diff

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

© www.soinside.com 2019 - 2024. All rights reserved.