Container.php 第 741 行中的 ReflectionException:类视图不存在

Posted

技术标签:

【中文标题】Container.php 第 741 行中的 ReflectionException:类视图不存在【英文标题】:ReflectionException in Container.php line 741: Class view does not exist 【发布时间】:2016-04-12 13:54:55 【问题描述】:

我正在使用 Homestead 开发一个 Laravel 5.1 项目。我进入我的 Vagrant 机器并运行 Composer Update 命令以尝试更新我的项目,现在我收到以下错误:

    1. in Container.php line 741
    2. at ReflectionClass->__construct('view') in Container.php line 741
    3. at Container->build('view', array()) in Container.php line 631
    4. at Container->make('view', array()) in Application.php line 674
    5. at Application->make('Illuminate\Contracts\View\Factory') in Container.php line 842
    6. at Container->resolveClass(object(ReflectionParameter)) in Container.php line 805
    7. at Container->getDependencies(array(object(ReflectionParameter)), array()) in Container.php line 776
    8. at Container->build('Illuminate\View\Middleware\ShareErrorsFromSession', array()) in Container.php line 631
    9. at Container->make('Illuminate\View\Middleware\ShareErrorsFromSession', array()) in /home/vagrant/Sites/laravel-basics/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line 674
   10. at Application->make('Illuminate\View\Middleware\ShareErrorsFromSession') in Pipeline.php line 123
   11. at Pipeline->Illuminate\Pipeline\closure(object(Request)) in StartSession.php line 62
   12. at StartSession->handle(object(Request), object(Closure))
   13. at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
   14. at Pipeline->Illuminate\Pipeline\closure(object(Request)) in AddQueuedCookiesToResponse.php line 37
   15. at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
   16. at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
   17. at Pipeline->Illuminate\Pipeline\closure(object(Request)) in EncryptCookies.php line 59
   18. at EncryptCookies->handle(object(Request), object(Closure))
   19. at call_user_func_array(array(object(EncryptCookies), 'handle'),  array(object(Request), object(Closure))) in Pipeline.php line 124
   20. at Pipeline->Illuminate\Pipeline\closure(object(Request)) in CheckForMaintenanceMode.php line 44
   21. at CheckForMaintenanceMode->handle(object(Request), object(Closure))
   22. at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
   23. at Pipeline->Illuminate\Pipeline\closure(object(Request))
   24. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
   25. at Pipeline->then(object(Closure)) in Kernel.php line 122
   26. at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87
   27. at Kernel->handle(object(Request)) in index.php line 54

我不确定是什么坏了。我已经在 Laravel 5.1 中工作,并且 Composer 运行良好。我觉得我有两个基本选择:1)尝试恢复到以前版本的 Composer 或 2)恢复到我的项目的以前版本。但是,是否有更简单的解决方法?

【问题讨论】:

【参考方案1】:

确保您的 config/app.php 文件的提供程序列表中列出了 Illuminate\View\ViewServiceProvider

显然容器中没有 view 服务,这是设置它的提供。

【讨论】:

做到了。非常感谢。 当我尝试将语法从(仅一个示例)'Laravel\Socialite\SocialiteServiceProvider', 更新为 Laravel\Socialite\SocialiteServiceProvider::class, 时出现错误 我确定它存在但仍然收到错误:(【参考方案2】:

我现在已经两次遇到此错误消息,所以我将解决方案放在这里,以防将来我必须在谷歌上搜索它。

有时会发生此错误,因为“/bootstrap/cache”目录不可写。因此,它无法编译视图。解决方案是对该目录进行 chmod,以便可以写入。

瞧。不客气,未来的我。

【讨论】:

谢谢你!这次你真的救了我的培根。 这对我有帮助:) 谢谢,他们为什么不能直接输入一个错误来表明这一点! upvote +20 - 或者在我的特定情况下,该目录已被删除并且它不会尝试创建它 在这里放一个捐赠链接,你就会变得富有:)。你刚刚拯救了我的早晨!【参考方案3】:

当“bootstrap”文件夹及其内容的权限不正确时,也会发生这种情况。对我来说,chmodding to writable 修复了它。

【讨论】:

这个答案重复了***.com/a/35833239/470749 已经说过的内容。【参考方案4】:

就我而言,文件命名不正确。该类被声明为:

class NoSessionAccessMiddleware 

但是文件被命名为NoSessionAccess.php,我只是将文件重命名为NoSessionAccessMiddleware.php,它解决了这个问题。

【讨论】:

【参考方案5】:

遇到同样的问题,我尝试了上述解决方案,但没有成功。运行 composer dump-autoload 后,我发现这是因为我忘记在我的开发服务器上安装一个包(Laravel Excel),但尚未在生产服务器上加载。

【讨论】:

【参考方案6】:

更新我的项目命名空间后,我遇到了同样的问题。我不得不更新 composer.json 文件:

 "psr-4": 
        "App\\": "myforms/app/"
     

到:

 "psr-4": 
        "App\\": "app/"
    

在服务器上,在您的源目录中,运行composer update,然后运行composer dump-autoload

【讨论】:

【参考方案7】:

供我以后参考:

这可能有几个原因。最常见,

bootstrap/cache 不可写。 缺少config/view.php 或此文件存在语法错误。 试试composer dumpautoload -o config/app.phpViewServiceProviderView 上的别名不得注释掉。

在 artisan 中,您可能看不到确切的错误。如果是这样,请转到错误行并转储堆栈跟踪。在这种情况下,文件将是,Illuminate/Container/Container.php,第 741 行(或屏幕上显示的行。将原始异常转储为 dd($e),并查看错误从哪里开始。

【讨论】:

以上是关于Container.php 第 741 行中的 ReflectionException:类视图不存在的主要内容,如果未能解决你的问题,请参考以下文章

R:仅当同一列中的两行中的值为真时才将值添加到 [row,column]

Codeforces Round #741 div.2 A-F题解

Codeforces Round #741 div.2 A-F题解

Codeforces Round #741 (Div. 2) 题解

获取退出值:-1,073,741,571 用简单的代码计算第 n 时刻

R - data.table 行中的反透视列表