简体   繁体   中英

Just installed Lumen and got NotFoundHttpException

I'm searching for a solution ... it's getting so frustrating. After a fresh installation of Lumen by Laravel, I simply can't access the "/" route. When I try to, it throws an error:

NotFoundHttpException in RoutesRequests.php line 443:

in RoutesRequests.php line 443
at Application->handleDispatcherResponse(array('0')) in RoutesRequests.php line 380
at Application->Laravel\Lumen\Concerns\{closure}() in RoutesRequests.php line 629
at Application->sendThroughPipeline(array(), object(Closure)) in RoutesRequests.php line 382
at Application->dispatch(null) in RoutesRequests.php line 327
at Application->run() in index.php line 28

Got it! ....

The solution is to change in public/index.php at line 28:

$app->run();

to

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

No clue why, maybe you know.

The problem was solved by changing the

$app->run();

in /public/index.php to

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

I had the same problem today.

I was accessing it using the url http://localhost/lumen.api/public/ and I think that was the cause of the error.

To get around it, this is what I did:

First I configured a new VirtualHost entry on Xampp, located in "C:\\xampp\\apache\\conf\\extra\\httpd-vhosts.conf" in my case:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/lumen.api/public"
    ServerName lumen.api
    ServerAlias www.lumen.api
    ErrorLog "logs/lumen.api-error.log"
    CustomLog "logs/lumen.api-access.log" common
    <Directory "C:/xampp/htdocs/lumen.api/public">
        AllowOverride All
        Require all Granted
    </Directory>
</VirtualHost>

and restarted Apache on Xampp.

Then I edited my hosts file (c:\\windows\\system32\\drivers\\etc\\hosts) to map a new address to my localhost.

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost   
    127.0.0.1       lumen.api

I tried again using the new URL http://lumen.api and the error was gone.

Probably the .htaccess file was deleted or somehow missing from public folder. Without it the rewrite URL will not work.

Check this: https://github.com/laravel/lumen/blob/master/public/.htaccess

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM