Вызов функции-члена connection () при нулевом значении

Я пытаюсь создать новую виртуальную среду разработки для одного из моих проектов на Github. Я установил MariaDB, PHP 7, сделал локальный клон репозитория и восстановил его .env -файл. Он должен работать.

К сожалению, когда я набираю php artisan и composer update, я получаю следующую ошибку:

Неустранимая ошибка PHP: Неперехваченная ошибка: вызов функции-члена connection () на null в src / vendor / laravel / framework / src / Illuminate / Database / Eloquent / Model.php: 1058
Трассировка стека:
# 0 src / vendor / laravel / framework / src / Illuminate / Database / Eloquent / Model.php (1024): Illuminate \ Database \ Eloquent \ Model :: resolveConnection (NULL)
# 1 src / vendor / laravel / framework / src /Illuminate/Database/Eloquent/Model.php(859): Illuminate \ Database \ Eloquent \ Model-> getConnection ()
# 2 src / vendor / laravel / framework / src / Illuminate / Database / Eloquent / Model.php (818): Illuminate \ Database \ Eloquent \ Model-> newBaseQueryBuilder ()
# 3 src / vendor / laravel / framework / src / Illuminate / Database / Eloquent / Model.php (802): Illuminate \ Database \ Eloquent \ Модель-> newQueryWithoutScopes ()
# 4 src / vendor / laravel / framework / src / Illuminate / Database / Eloquent / Model.php (1374): Illuminate \ Database \ Eloquen в src / vendor / laravel / framework / src / Illuminate / Database / Eloquent / Model.php в строке 1058

Я не знаю, имеет ли это отношение к данной ошибке, но обратите внимание на неправильное написание Eloquent в трассировке стека №4.

Вы можете найти мой файл composer.json здесь:
https://github.com/galadhremmin/Parf-Edhellen/blob/master/src/composer.json

Версия PHP: 7.1.2 в Debian 9.

Есть идеи, что может быть не так?

Изменить. Это влияет на компоненты artisan и composer, которые даже не запускаются.


person Leonard    schedule 29.08.2017    source источник
comment
Действительно ли MariaDB (служба MySQL) включена? То, что вы его установили, не означает, что он включен.   -  person Brian Gottier    schedule 29.08.2017
comment
@BrianGottier Я верю, что это так, поскольку он реагирует, когда я набираю mysql в терминале. Я могу войти в систему и запросить базу данных с учетными данными, указанными в файле .env.   -  person Leonard    schedule 29.08.2017
comment
Посмотрите на этот файл: src / vendor / laravel / framework / src / Illuminate / Database / Eloquent / Model.php номер строки 1058, независимо от того, какой экземпляр класса находится перед методом connection (), не был создан.   -  person KIKO Software    schedule 29.08.2017
comment
и, конечно, вы дважды проверили настройки подключения, по крайней мере, дважды ... поэтому я бы попытался подключиться с помощью простого PHP-скрипта и отладить его. Я просто говорю о функциях mysqli или PDO.   -  person Brian Gottier    schedule 29.08.2017
comment
@BrianGottier Следующее успешно: php -r '$i = mysqli_connect("127.0.0.1", "elfdict", "elfdict"); echo !$i ? "fail\n" : "success\n";'   -  person Leonard    schedule 29.08.2017
comment
Тогда звучит специфично для Laravel. Я использовал Laravel несколько раз в прошлом, но не мог вам помочь.   -  person Brian Gottier    schedule 29.08.2017
comment
Возможный дубликат Laravel 5.4 Unit Тест - вызов функции-члена connection () при нулевом значении   -  person Nawin    schedule 29.08.2017
comment
@Nawin Нет, конечно, нет. Это влияет на пользовательский интерфейс командной строки, который полностью неработоспособен.   -  person Leonard    schedule 29.08.2017
comment
@BrianGottier Это было! Спасибо за помощь.   -  person Leonard    schedule 29.08.2017


Ответы (1)


Я нашел корень проблемы, используя debug_print_backtrace. Это отличный метод, позволяющий печатать полную обратную трассировку.

Проблема в этом случае заключалась в том, что я подключил службу ведения журнала к обработчику исключений. Регистратор обращается к базе данных, чтобы записать произошедшую ошибку, и он не поддерживает среду CLI.

person Leonard    schedule 29.08.2017
comment
Спасибо, что разместили свое решение. - person Brian Gottier; 29.08.2017