Неустранимая ошибка: класс «Illuminate\Database\Capsule\Manager» не найден

Я следую новому руководству по аутентификации phpacademys https://www.youtube.com/watch?v=PF2WkRCZfBg

у меня есть файл класса database.php:

<?php
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
 'driver'     => $app->config->get('db.driver'),
 'host'       => $app->config->get('db.host'),
 'database'   => $app->config->get('db.name'),
 'username'   => $app->config->get('db.username'),
 'password'   => $app->config->get('db.password'),
 'charset'    => $app->config->get('db.charset'),
 'collation'  => $app->config->get('db.collation'),
 'prefix'     => $app->config->get('db.prefix')
]);

$capsule->bootEloquent();

однако выдает эту ошибку:

Неустранимая ошибка: класс «Illuminate\Database\Capsule\Manager» не найден в C:\xampp\htdocs\boilerplate\app\database.php в строке 4

я потребовал его в start.php

<?php
require 'database.php';
//############ NAMESPACING ################//
use Slim\Slim; //import slim
use Noodlehaus\Config;
use Boilerplate\User\User;
//#########################################//

session_cache_limiter(false);
session_start();

ini_set('display_errors','on'); //TURN OFF ON LIVE SITE

define('INC_ROOT', dirname(__DIR__)); //create local root

require INC_ROOT . '/vendor/autoload.php'; // autoload in all the      dependencies in the vendor files.

$app = new Slim([
'mode' => file_get_contents(INC_ROOT . '/mode.php')
]); //assign the entire app file to a variable

$app->configureMode($app->config('mode'), function() use ($app){
$app->config = Config::load(INC_ROOT . "/app/config/{$app->mode}.php"); //pull in the config file
});

$app->container->set('user', function(){
    return new User;
});

person tom Bannister    schedule 22.07.2015    source источник
comment
Вы загружаете Illuminate\Database с помощью composer?   -  person nathanmac    schedule 22.07.2015
comment
да, это мой файл json { autoload: { psr-4 : { Boilerplate\\ : app/Boilerplate } }, require: { slim/slim: ~2.0, slim/views: 0.1.*, phpmailer/phpmailer: ~ 5.2, hassankhan/config: 0.8.*, ветка/ветка: ~1.0, подсветка/база данных: ~5.0, ircmaxell/random-lib: ~1.1 }   -  person tom Bannister    schedule 22.07.2015


Ответы (2)


Убедитесь, что вы добавили Illuminate\Database в свой файл композитора, и запустите composer update

Затем поставьте require 'database.php'; после добавления автозагрузчика

require INC_ROOT . '/vendor/autoload.php';

// Below here
person nathanmac    schedule 22.07.2015
comment
Огромное спасибо, чувак, буквально целый день ломал мне голову! - person tom Bannister; 22.07.2015

У меня была такая же ошибка. В моем случае решение состояло в том, чтобы снова установить композитор с помощью следующей команды:

composer install

Если вы используете докер, убедитесь, что вы находитесь внутри контейнера, прежде чем запускать команду установки.

docker-compose run <app_name> bash
person Puje    schedule 09.12.2019