【问题标题】:Not found page in Lumen after install [duplicate]安装后在 Lumen 中找不到页面[重复]
【发布时间】:2015-09-02 16:16:13
【问题描述】:

我刚刚安装了Lumen,但是当我前往它的公共目录localhost/lumen/public时,

抱歉,找不到您要查找的页面。

会出现。

我检查了app\Http\routes.php 并更改了

$app->get('/', function () use ($app) {

$app->get('/lumen/public/', function () use ($app) {

它奏效了。

但这不是我想要的。在 Laravel 中,'/' 完美运行。如何让 Lumen 与 '/' 一起工作?


顺便说一句,当我使用 php artisan serv 时,'/' 有效,但仅在工匠服务中:(

【问题讨论】:

  • 你不想拥有public这个名字吗?
  • 你定义了虚拟主机吗?
  • @zlen 不,我没有。问题是在 Laravel 中我不做任何事情都没有任何问题。
  • 在您的index.php 文件中,将您的代码更改为this 之类的内容。

标签: php laravel routes lumen


【解决方案1】:

一种方式:

/public/index.php

$app->run();

$app->run($app['request']);

另一种方式:

这也有效(更快):

$app->run($app->make('request'));

【讨论】:

  • 为我工作。发生这种情况的任何特殊原因?如果在 Homestead 上没有此修复程序,它运行良好
  • 为什么第二种方案太快了?第一种是使用准备好的对象,第二种方法是创建另一个对象!
  • 实际上这对我不起作用。而是用$request = Illuminate\Http\Request::capture(); $app->run($request); 替换$app->run(); 工作。但问题仍然存在。我需要在我的 URL 中有 /public。有什么相同的建议吗?
  • 两种解决方案都不起作用。
【解决方案2】:

当您不使用 php artisan serve 时,您使用的是什么?如果您使用的是 vanilla php -S,您还需要像这样指定公共目录:

php -S localhost:8000 -t public/

您需要在 lumen 目录中执行此操作。

【讨论】:

  • 我使用 Apache 作为 Web 服务器。这在 Apache 中不起作用。
  • 使用 0.0.0.0 代替 localhost
猜你喜欢
  • 2021-03-20
  • 1970-01-01
  • 1970-01-01
  • 2014-02-21
  • 2019-05-19
  • 1970-01-01
  • 2016-03-06
  • 2018-05-03
  • 1970-01-01
相关资源
最近更新 更多