webentwicklung-frage-antwort-db.com.de

Laravel-Ansicht Ausnahme nicht gefunden

Ich habe ein Problem mit der Laravel-Ansicht. Die Routenfunktion wurde nicht gefunden. Ich habe den Komponisten dumpautoload verwendet

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

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


//Route
Route::get('index', '[email protected]');

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    [email protected]
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
28
user474901

Dies geschieht, wenn Laravel in Ihrer Anwendung keine Ansichtsdatei findet. Stellen Sie sicher, dass sich eine Datei mit dem Namen: index.php oder index.blade.php in Ihrem app/views-Verzeichnis befindet.

Beachten Sie, dass Laravel beim Aufruf von View::make folgende Aktionen ausführt:

  • Für View::make('index') sucht Laravel nach der Datei: app/views/index.php.
  • Für View::make('index.foo') sucht Laravel nach der Datei: app/views/index/foo.php.

Die Datei kann eine dieser beiden Erweiterungen haben: .php oder .blade.php.

28
Rubens Mariuzzo

Dieser Fehler tritt auch auf, wenn Sie versuchen, das gesamte Projektverzeichnis in einen anderen Pfad zu verschieben. Sie haben die folgenden Befehle ausgeführt, BEVOR Sie sich bewegen.

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

Meine Fehlermeldung zeigt so  enter image description here

Wie Sie sehen, wurde der alte Pfad in die compiled.php geschrieben. Also, um das Problem zu beheben. Führen Sie einfach den gleichen Befehl WIEDER im Projektordner in Ihrem neuen Ordner aus.

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

Hoffe das hilft.

33
Dean Chiu

Dieser Befehl funktioniert für mich 

php artisan config:cache

Wie Laravel-Dokument besagt, ist Laravel standardmäßig so konfiguriert, dass der Dateicache-Treiber verwendet wird, der die serialisierten, zwischengespeicherten Objekte im Dateisystem speichert. Es muss also das Dateisystem erneut gespeichert werden, damit neu hinzugefügte Ansichten und Routen angezeigt werden können. Ich bin mir auch nicht sicher, warum Laravel eigentlich reache

13
Amir

Nur im Controller-Anruf 

return View('index');

ohne 

::make
3
Paspartu

stoppen Sie den Server und führen Sie diesen Befehl auf dem Terminal aus.

php artisan config:cache

der Start des Servers

2
Inamur Rahman

In meinem Fall rief ich View::make('User/index') an, wo sich meine Ansicht tatsächlich im Benutzerverzeichnis befand und index.blade.php heißt. Nachdem ich es in [email protected]('user.index') geändert hatte, fing alles an zu arbeiten.

1
Adam

In meinem Fall Laravel 5.3

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

test.blade.php wurde nicht gerendert, aber einige andere Ansichten wurden auf localhost über XAMPP auf dem Mac gerendert. Beim Ausführen eines Handwerkerservers begann die Ansicht mit dem Rendern derselben URL über XAMPP.

php artisan serve

Um ein solches Szenario zu vermeiden, sollten Sie die Laravel-Apps nur mit einem handwerklichen Server testen.

0
zeeawan

Etwas peinlich fand ich eine andere, eher triviale Ursache für diesen Fehler: Ich hatte einen Punkt im Dateinamen meiner Blade-Datei (zB resources/views/pages/user.invitation.blade.php). Das hat damals wirklich Sinn gemacht!

Ich habe versucht, es so zu referenzieren: view('pages.user.invitation')

aber natürlich suchte Laravel nach der Datei unter resources/views/pages/user/invitation.blade.php und warf die view not found.

Hoffe das hilft jemandem.

0
jeff-h

Ich hatte den gleichen Fehler, aber in meinem Fall hieß die Sicht seeProposal

Ich habe es in seeproposal geändert und es hat gut funktioniert ...

Es war kein Problem beim Testen vor Ort, aber anscheinend unterscheidet Laravel zwischen Großbuchstaben in der Produktion. Für diejenigen, die Ansichten mit Großbuchstaben haben, würde ich sie alle in Kleinbuchstaben ändern.

0
ndarriulat

Erstellen Sie die Datei index.blade.php im Ordner views, das sollte alles sein

0
Eduin Morales

Wie @deanchiu gesagt hat, kann es passieren, dass Sie das gesamte Projekt auf einen anderen Pfad oder Server verschieben. 

In meinem Fall hatte ich jedoch keinen Zugriff auf die Befehlszeile auf dem Server und das Ausführen der folgenden Befehle, BEVOR ich mein Projekt hochgeladen habe, half mir. 

> php artisan route:clear
> php artisan config:clear
0
aleebek

überprüfen Sie die Blade-Syntax in der Ansicht, die besagt, dass sie nicht gefunden wurde. Ich behebe nur meine

@if
@component
@endif 
@endcomponent

zu

@if
@component
@endcomponent
@endif