我有路由功能找不到laravel视图的问题我做了composer dumpautoload但没有用 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
答案 0 :(得分:35)
当您尝试将整个项目目录移动到其他路径时,也会发生此错误。而且你在移动之前碰巧在下面运行了以下命令。
php artisan optimize --force
php artisan config:cache
php artisan route:cache
正如您所看到的,旧路径是在 compiled.php 中编写的。所以,解决问题。只需在新文件夹位置的项目文件夹下运行相同的命令AGAIN即可。
php artisan optimize --force
php artisan config:cache
php artisan route:cache
希望这有帮助。
答案 1 :(得分:29)
当Laravel在您的应用程序中找不到视图文件时,会发生这种情况。确保您的index.php
目录下有一个名为index.blade.php
或app/views
的文件。
请注意,Laravel在调用View::make
时会执行以下操作:
View::make('index')
,Laravel将查找文件:app/views/index.php
。View::make('index.foo')
,Laravel将查找文件:app/views/index/foo.php
。该文件可以包含以下两种扩展名中的任何一种:.php
或.blade.php
。
答案 2 :(得分:13)
此命令适用于我
php artisan config:cache
正如Laravel doc所说,默认情况下,Laravel配置为使用文件缓存驱动程序,该驱动程序将序列化的缓存对象存储在文件系统中。因此,它需要重新缓存文件系统,以便可以显示新添加的视图和路径。我也不确定laravel为什么需要实际重新安装
答案 3 :(得分:3)
仅在控制器调用中
<style name="YourActivityTheme" parent="BaseAppTheme">
<item name="android:windowTranslucentStatus">false</item>
<item name="android:statusBarColor">@android:color/black</item>
</style>
没有
<aplication
....... >
.......
<activity
android:name=".chapters.home.YourNiceActivity"
android:theme="@style/YourActivityTheme">
<intent-filter>
...
</intent-filter>
</activity>
.....
</application>
答案 4 :(得分:3)
这可能是,即使您的视图显示了错误,也可能存在。因此,要解决此问题,您需要停止服务器并在终端上运行此命令。
php artisan config:cache
然后重新启动服务器
答案 5 :(得分:1)
在我的情况下,我正在调用View::make('User/index')
,实际上我的视图位于用户目录中,它被称为index.blade.php。在我将其更改为View@make('user.index')
之后,所有人都开始工作了。
答案 6 :(得分:0)
答案 7 :(得分:0)
除了这些答案之外,如果您的视图位于项目的不寻常目录中,则必须将以下内容添加到 /config/view.php
'paths' => [
resource_path('views'),
resource_path('../path/from/project/route/to/view')
],
答案 8 :(得分:0)
在您的cmd上使用它,然后运行您的项目。
php artisan config:缓存php artisan路由:cache php artisan 控制器:缓存php artisan优化:清除
答案 9 :(得分:0)
在我的情况下,我必须运行php artisan optimize:clear
才能使所有内容恢复正常工作。
答案 10 :(得分:0)
如果您的查看路径为true,请首先尝试config:cache
,如果没有任何更改,请尝试route:cache
,以检查您的资源路径权限为true。
示例:您可以使用以下命令在ubuntu中进行操作:
sudo chgrp -R www-data resources/views
sudo usermod -a -G www-data $USER
答案 11 :(得分:0)
在未找到的视图上检查刀片语法 我只是修理我的
@if
@component
@endif
@endcomponent
到
@if
@component
@endcomponent
@endif
答案 12 :(得分:0)
在views文件夹中创建index.blade.php文件,应该全部
答案 13 :(得分:0)
有点令人尴尬的是,我发现了导致此错误的另一个相当平凡的原因:我的刀片文件的文件名(例如resources/views/pages/user.invitation.blade.php
)停了下来。当时确实很有意义!
我试图像这样引用它:view('pages.user.invitation')
但是,当然,Laravel在resources/views/pages/user/invitation.blade.php
处寻找文件并抛出view not found
。
希望这对某人有帮助。
答案 14 :(得分:0)
我遇到了同样的错误,但在我的情况下,该视图称为seeProposal
。
我将其更改为seeproposal
,并且效果很好...
在本地测试时这不是问题,但显然Laravel在生产中使用大写字母来加以区分。因此,对于那些具有大写字母的视图的人,我将其全部更改为小写。
答案 15 :(得分:0)
正如@deanchiu所说,将整个项目移动到另一个路径或服务器时可能会发生这种情况。
但在我的情况下,我无法访问服务器上的命令行并运行以下命令在我上传项目之前帮助了我。
> php artisan route:clear
> php artisan config:clear
答案 16 :(得分:0)
就我而言,Laravel 5.3
Route::get('/', function(){
return View('test');
});
test.blade.php没有呈现,但其他一些视图通过Mac上的XAMPP在localhost上呈现。 运行工匠服务器后,视图开始在XAMPP上呈现相同的网址。
php artisan serve
为了避免任何此类情况,我们应该仅使用工匠服务器测试Laravel应用程序。
答案 17 :(得分:-1)
我有同样的错误。我在视图目录下创建了一个名为users
的目录,并在其中创建了一个index.blade.php
文件。调用此文件时,您应该写users.index
来指示您的路径。或仅在视图下创建index.blade.php
文件。希望这可以帮助遇到相同问题的人