Класс Laravel 5.4 'GuzzleHttp\Client' не найден в TransportManager.php (строка 185)

Позвольте мне сначала объяснить, чего я пытаюсь достичь. 1. Пользователь отправляет форму с запросом на членство, приложение отправляет письмо пользователю, подтверждающее запрос пользователя 2. Администратор одобряет или отклоняет запрос, приложение отправляет почту пользователю, уведомляя его

С помощью mailtrap я смог сделать это локально. Переходя к производству, я перешел на использование Sparkpost, выполнив шаги по отправке почты с помощью учебника sparkpost. Но я получаю сообщение об ошибке

Класс 'GuzzleHttp\Client' не найден в TransportManager.php (строка 185)

Я вижу папку guzzle внутри папки vendor после запуска composer, требующей guzzlehttp/guzzle

"require": {
    "php": ">=5.6.4",
    "guzzlehttp/guzzle": "^6.3",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0"
},

Я просто не понимаю, почему я получаю эту ошибку или как ее исправить. Нужна помощь в решении этой проблемы

2 ответа

Наконец-то заставил мой код работать, выполнив следующее

Первоначально я побежал composer require guzzlehttp/guzzle добавить guzzlehttp/guzzle в требуемый раздел файла composer.json

Во-вторых, я побежал composer update

Наконец, я загрузил свои файлы с локального сервера на рабочий сервер. Потом я добавил use GuzzleHttp\Client на мой почтовый контроллер и все работало хорошо.

Я думаю, что я пропустил ранее, не было запуска обновления композитора после того, как требуется guzzlehttp/guzzle

Вы можете убедиться, что у вас сначала есть require './vendor/autoload.php включены (что должно быть в случае Laravel по умолчанию).

Если autoload.php уже включен, и вы все еще получаете эту ошибку, то в соответствии с этой поданной ошибкой - https://github.com/SparkPost/php-sparkpost/issues/37, вам нужно будет запустить вручную

php composer.phar require guzzlehttp/guzzle

Другие вопросы по тегам