Lumen 在没有 public/index.php 的 RoutesRequests.php 中给出 NotFoundHttpException

Posted

技术标签:

【中文标题】Lumen 在没有 public/index.php 的 RoutesRequests.php 中给出 NotFoundHttpException【英文标题】:Lumen gives NotFoundHttpException in RoutesRequests.php without public/index.php 【发布时间】:2017-03-19 13:56:21 【问题描述】:

在没有 public/index.php 的情况下访问时,我服务器中的 Lumen 安装出现 NotFoundHttpException。

Apache 配置:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/myapi/public

    <Directory /var/www/html/myapi>
            AllowOverride All
    </Directory>

    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>

.htaccess:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]

目录结构:

> var/www/html
> ------------/myapi/ (lumen application)
> ------------/myapi/public/

var/www/html/myapi/public 中的 index.php

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

NotFoundHttpException:

    在 RoutesRequests.php 第 461 行 在 RoutesRequests.php 第 398 行中的 Application->handleDispatcherResponse(array('0')) 在 Application->Laravel\Lumen\Concernsclosure() 在 RoutesRequests.php 第 650 行 在 RoutesRequests.php 第 400 行中的 Application->sendThroughPipeline(array(), object(Closure)) 在 RoutesRequests.php 第 341 行中的 Application->dispatch(object(Request)) 在 Application->run(object(Request)) in index.php 第 30 行

【问题讨论】:

很可能您的索引没有路由 【参考方案1】:

问题解决了

$app->run();

/public/index.php

$request = Illuminate\Http\Request::capture();
$app->run($request);

【讨论】:

【参考方案2】:

NotFoundHttpException 当您的请求未在route.php 中列出时给出

$app->get('request', function() 
return view('your view file');
);

【讨论】:

我确实在流明 5.3 的 /var/www/html/myapi/routes/web.php 中列出了请求。 \n $app-&gt;get('/hello', function () use ($app) return "Hello Universe"; ); not web.php...route.php 位于 app/html 文件夹内。 感谢您的回复 Sachith。 Lumen 5.3 似乎已经删除了 route.php 并替换为 'routes' 文件夹中的 web.php。

以上是关于Lumen 在没有 public/index.php 的 RoutesRequests.php 中给出 NotFoundHttpException的主要内容,如果未能解决你的问题,请参考以下文章

Symfony .htaccess apache-pack无法正常工作

Lumen:没有用户表的 JWT 身份验证

无法打开流 - 没有这样的文件或目录 - Lumen PHP

lumen 下使用自定义配置文件

在 Lumen 中创建多个身份验证提供程序

自定义阵列验证 - Lumen