簡體   English   中英

ReflectionException:Laravel 5.4

[英]ReflectionException: Laravel 5.4

我在運行phpunit時收到此異常。 我正在使用PHPUnit 5.7.23運行最新的Laravel 5.4

ReflectionException: Class config does not exist
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:729
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:608
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:575
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:728
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:1172
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php:57
/home/vagrant/Code/ProcessingHub-App/vendor/myvendor/core/src/app/Providers/CoreServiceProvider.php:50
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:574
/home/vagrant/Code/ProcessingHub-App/tests/CreatesApplication.php:18
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:89
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:66
/home/vagrant/Code/ProcessingHub-App/tests/TestCase.php:27
/home/vagrant/Code/ProcessingHub-App/tests/Unit/PassportTest.php:30

如您所見,異常來自CoreServiceProvider,這是我自己的ServiceProviders之一,您可以在這里看到奇怪的事情

/**
 * Register any package services.
 *
 * @return void
 */
public function register()
{
    $this->registerEloquentFactoriesFrom(__DIR__.'/../../database/factories');

    $this->mergeConfigFrom(
        __DIR__.'/../../config/fields.php', 'fields'
    );
}

fields.php的內容:

return [];

如果我推薦$this->mergeConfigFrom()它就像一個魅力,但奇怪的是我在多個ServiceProviders中做到了,在這些類中這不是問題。

我真的嘗試了一切。

  • 運行: composer dump-autoload
  • 運行: php artisan optimize
  • 刪除供應商並重新安裝所有內容
  • 到處調試,但沒有有用的信息
  • 用基本測試替換測試laravel的示例也不起作用
  • 我已經用新的簡單.env替換了.env並沒有幫助。

我的問題是:

annyone知道我該如何解決。

在重新安裝了Laravel之后,進入\\ tests目錄后,我看到了我盯着看了好幾個小時的東西。

在引導應用程序之前,該應用程序試圖注冊 ServiceProvider 很抱歉給您帶來麻煩(這不是我的代碼)。

namespace Tests;

use Illuminate\Contracts\Console\Kernel;

trait CreatesApplication
{
    /**
     * Creates the application.
     *
     * @return \Illuminate\Foundation\Application
     */
    public function createApplication()
    {
        $app = require __DIR__.'/../bootstrap/app.php';

        $app->make(Kernel::class)->bootstrap();

        $app->register(\StepOrange\Core\Providers\CoreServiceProvider::class);

        return $app;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM