Laravel view not found exception

PhpLaravelLaravel 4Exception Handling

Php Problem Overview


I have problem with laravel view is not found by route function I did composer dumpautoload but no use ArticleController.php

<?php
class ArticleController extends BaseController
 {
 public function showIndex()
 {
 	return View::make('index');
 }

 public function showSingle($articleId)
 {
 return View::make('single');
 }
}


//Route
Route::get('index', 'ArticleController@showIndex');

InvalidArgumentException

View [index] not found.
open: /opt/lampp/htdocs/laravel-project/bootstrap/compiled.php

    foreach ((array) $paths as $path) {
    foreach ($this->getPossibleViewFiles($name) as $file) {
    if ($this->files->exists($viewPath = $path . '/' . $file)) {
    return $viewPath;
    }
    }
    }
    throw new \InvalidArgumentException("View [{$name}] not found.");
    }
    protected function getPossibleViewFiles($name)

Server/Request Data
REDIRECT_UNIQUE_ID 	UfWlAn8AAQEAABR2VakAAAAF
REDIRECT_STATUS 	200
UNIQUE_ID 	UfWlAn8AAQEAABR2VakAAAAF
HTTP_HOST 	localhost
HTTP_USER_AGENT 	Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0
HTTP_ACCEPT 	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE 	en-US,en;q=0.5
HTTP_ACCEPT_ENCODING 	gzip, deflate
HTTP_COOKIE 	laravel_session=f94fpel78jn89nhah32mflqn15
HTTP_CONNECTION 	keep-alive
HTTP_CACHE_CONTROL 	max-age=0
PATH 	/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
LD_LIBRARY_PATH 	/opt/lampp/lib:/opt/lampp/lib
SERVER_SIGNATURE 	
SERVER_SOFTWARE 	Apache/2.4.4 (Unix) OpenSSL/1.0.1e PHP/5.4.16 mod_perl/2.0.8-dev Perl/v5.16.3
SERVER_NAME 	localhost
SERVER_ADDR 	127.0.0.1
SERVER_PORT 	80
REMOTE_ADDR 	127.0.0.1
DOCUMENT_ROOT 	/opt/lampp/htdocs
REQUEST_SCHEME 	http
CONTEXT_PREFIX 	
CONTEXT_DOCUMENT_ROOT 	/opt/lampp/htdocs
SERVER_ADMIN 	you@example.com
SCRIPT_FILENAME 	/opt/lampp/htdocs/laravel-project/public/index.php
REMOTE_PORT 	50211
REDIRECT_URL 	/laravel-project/public/index
GATEWAY_INTERFACE 	CGI/1.1
SERVER_PROTOCOL 	HTTP/1.1
REQUEST_METHOD 	GET
QUERY_STRING 	
REQUEST_URI 	/laravel-project/public/index
SCRIPT_NAME 	/laravel-project/public/index.php
PHP_SELF 	/laravel-project/public/index.php
REQUEST_TIME_FLOAT 	1375053058.123
REQUEST_TIME 	1375053058

Php Solutions


Solution 1 - Php

This error also occurs when you try to move the whole project directory to other path. And you happened to run the following commands below BEFORE you move.

php artisan optimize --force
php artisan config:cache
php artisan route:cache

Mine error message shows like this enter image description here

As you can see the old path was written in the compiled.php. So, to fix the problem. Simply run the same command AGAIN under the project folder in your new folder location.

php artisan optimize --force
php artisan config:cache
php artisan route:cache

Hope this helps.

Solution 2 - Php

This happens when Laravel doesn't find a view file in your application. Make sure you have a file named: index.php or index.blade.php under your app/views directory.

Note that Laravel will do the following when calling View::make:

  • For View::make('index') Laravel will look for the file: app/views/index.php.
  • For View::make('index.foo') Laravel will look for the file: app/views/index/foo.php.

The file can have any of those two extensions: .php or .blade.php.

Solution 3 - Php

This command works for me

php artisan config:cache

As Laravel doc says that by default, Laravel is configured to use the file cache driver, which stores the serialized, cached objects in the filesystem. So it needs to recache the file system so that newly added views and route are available to show. I also not sure why laravel needs to recache actually

Solution 4 - Php

This might be possible that your view is present even though it shows the error. So to solve this issue you need to stop the server and run this command on the terminal.

php artisan config:cache

then restart the server

Solution 5 - Php

In my case I had to run php artisan optimize:clear in order to make everything to work again.

Solution 6 - Php

Just in the controller call

return View('index');

without

::make

Solution 7 - Php

Somewhat embarrassingly, I discovered another rather trivial cause for this error: I had a full stop in the filename of my blade file (eg resources/views/pages/user.invitation.blade.php). It really did make sense at the time!

I was trying to reference it like so: view('pages.user.invitation')

but of course Laravel was looking for the file at resources/views/pages/user/invitation.blade.php and throwing the view not found.

Hope this helps someone.

Solution 8 - Php

As @deanchiu said it may happen when you move the whole project to another path or server.

But in my case I had no access to command line on server and running following commands BEFORE I upload my project helped me.

> php artisan route:clear
> php artisan config:clear

Solution 9 - Php

In my case I was calling View::make('User/index'), where in fact my view was in user directory and it was called index.blade.php. Ergo after I changed it to View@make('user.index') all started working.

Solution 10 - Php

I was having the same error, but in my case the view was called seeProposal.

I changed it to seeproposal and it worked fine...

It was not being an issue while testing locally, but apparently Laravel makes a distinction with capital letters running in production. So for those who have views with capital letters, I would change all of them to lowercase.

Solution 11 - Php

check your blade syntax on the view that said not found i just fix mine

@if
@component
@endif 
@endcomponent

to

@if
@component
@endcomponent
@endif 

Solution 12 - Php

Use this on your cmd then run your project.

> php artisan config:cache php artisan route:cache php artisan > controller:cache php artisan optimize:clear

Solution 13 - Php

If your path to view is true first try to config:cache and route:cache if nothing changed check your resource path permission are true.

example: your can do it in ubuntu with :

sudo chgrp -R www-data resources/views
sudo usermod -a -G www-data $USER

Solution 14 - Php

In addition to these answers, if your view is in an unusual directory for the project, you'll have to add the following to /config/view.php

    'paths' => [
    resource_path('views'),
    resource_path('../path/from/project/route/to/view')
],

Solution 15 - Php

If you are not accessing files as root user you shall change access of files

enter image description here

Change Access group to Access files

Also, others to Access files it's work for me

Solution 16 - Php

If you are using GIT in your project don't forget make git add . and commit before of move the project to another side and also don't forget clean the cache.

Solution 17 - Php

In my case, Laravel 5.3

Route::get('/', function(){
    return View('test');
});

test.blade.php was not rendering but some other views were rendering on localhost via XAMPP on mac. Upon running artisan server, the view started rendering for same url over XAMPP.

php artisan serve

To avoid any such scenario, one should test the Laravel apps with artisan server only.

Solution 18 - Php

Create the index.blade.php file in the views folder, that should be all

Solution 19 - Php

I had the same error. I created a directory under views direcotry named users and created an index.blade.php file in it. When calling this file you should write users.index to indicate your path. Or just create index.blade.php file under views. hope this will help someone who gets the same problem

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser474901View Question on Stackoverflow
Solution 1 - PhpDean ChiuView Answer on Stackoverflow
Solution 2 - PhpRubens MariuzzoView Answer on Stackoverflow
Solution 3 - PhpAmirView Answer on Stackoverflow
Solution 4 - PhpInamur RahmanView Answer on Stackoverflow
Solution 5 - PhpDeric LimaView Answer on Stackoverflow
Solution 6 - PhpPaspartuView Answer on Stackoverflow
Solution 7 - Phpjeff-hView Answer on Stackoverflow
Solution 8 - PhpaleebekView Answer on Stackoverflow
Solution 9 - PhpAdamView Answer on Stackoverflow
Solution 10 - PhpndarriulatView Answer on Stackoverflow
Solution 11 - PhpRicky Orlando NapitupuluView Answer on Stackoverflow
Solution 12 - PhpZabbir HossainView Answer on Stackoverflow
Solution 13 - PhpMajid JalilianView Answer on Stackoverflow
Solution 14 - PhpTomk07View Answer on Stackoverflow
Solution 15 - PhpHassan Elshazly EidaView Answer on Stackoverflow
Solution 16 - PhpFreddy DanielView Answer on Stackoverflow
Solution 17 - PhpzeeawanView Answer on Stackoverflow
Solution 18 - PhpEduin MoralesView Answer on Stackoverflow
Solution 19 - PhpeliftozogluView Answer on Stackoverflow