【问题标题】:Laravel 5.4 Upgrade - ReflectionException: Class session does not existLaravel 5.4 升级 - ReflectionException:类会话不存在
【发布时间】:2017-07-02 04:11:20
【问题描述】:

我更新了本地环境以使用 Laravel 5.4,在此过程中,我无法再使用 phpunit 运行任何测试。

我得到的错误是:

ApplicationTest::testEnvironment
ReflectionException: Class session does not exist

/home/vagrant/Code/Sites/sa4/vendor/laravel/framework/src/Illuminate/Container/Container.php:681
/home/vagrant/Code/Sites/sa4/vendor/laravel/framework/src/Illuminate/Container/Container.php:565
/home/vagrant/Code/Sites/sa4/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:105
/home/vagrant/Code/Sites/sa4/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:780
/home/vagrant/Code/Sites/sa4/tests/TestCase.php:30

有人知道这个的解决方案吗?我撞到了一堵墙:(

【问题讨论】:

  • 你能发布一个在你的测试中使用session的代码的sn-p吗?
  • 公共函数 setTimezone() { session()->put('timezone', config('sa.default_timezone'));这是在我的 TestCase.php 文件中,也是堆栈跟踪中问题的开始。

标签: laravel upgrade


【解决方案1】:

可能你在某处使用了session 而不是Session 外观(大写S

【讨论】:

  • 我能够将问题追溯到 session() 助手不再正常工作。我在想我可能错过了更新中需要完成的一些事情。 思考
【解决方案2】:

确保缓存目录存在于引导程序中。

【讨论】:

  • 这会导致 Laravel 抛出 OP 的会话错误。它必须 /bootstrap/cache 必须存在并且是可写的。
猜你喜欢
  • 2018-04-11
  • 1970-01-01
  • 2018-09-02
  • 2017-11-19
  • 1970-01-01
  • 2015-12-05
  • 2014-01-24
  • 2022-10-25
  • 2018-06-25
相关资源
最近更新 更多