2017-12-18 336 views
1

让我首先解释我试图实现的目标 1.用户提交表单申请成员资格,应用程序向用户发送邮件确认用户请求 2.管理员批准或拒绝请求,应用程序发送邮件给用户通知他们在TransportManager.php中找不到Laravel 5.4 Class'GuzzleHttp Client'(行185)

使用mailtrap,我已能够使本地工作。移动到生产,我转而使用Sparkpost按照sending mail with sparkpost tutorial 步骤,但我不断收到错误

类“GuzzleHttp \客户端”在TransportManager.php未找到(线185)

我可以看到运行作曲家供应商文件夹中的文件夹狂饮需要guzzlehttp /狂饮

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

我只是不明白,为什么我得到这个错误,或者如何解决它。需要帮助解决这个问题

回答

0

你可能想要确保你第一次有一个require './vendor/autoload.php包括(这应该是在Laravel默认情况下)。

如果autoload.php已经包括你还是收到此错误,然后根据这个申请错误 - https://github.com/SparkPost/php-sparkpost/issues/37,则需要手动运行

php composer.phar require guzzlehttp/guzzle

+0

我在我的供应商的文件夹autoload.php。你是这个意思吗?还是有一个文件,我需要有内线? 顺便说一下,我已经手动执行了'composer require guzzlehttp/guzzle',并将其添加到我的composer.json文件中 – Mena

+0

您需要验证是否有一个'require。/ vendor/autoload.php'写在被调用的代码路径。只要在文件夹中的文件将无济于事。当你执行这个文件的'require'时,它会依次将所有已安装依赖项的类加载到你的代码中。一旦包含这些类,编译器就会停止抱怨在使用它时该类缺失。 – DeadLock

+0

MemberController是邮件正在被启动,sp通过你的回应我在最前面添加了'require'./ vendor/autoload.php''。有一种非常强烈的感觉,我做错了,但是这是正确的做法吗?错误与以前一样 – Mena

0

最后通过执行以下操作

使我的代码工作

起初我跑composer require guzzlehttp/guzzle添加guzzlehttp /狂饮要求composer.json文件的部分

其次,我跑composer update

最后,我将我的文件从本地服务器上传到生产服务器。然后我将use GuzzleHttp\Client添加到我的邮件控制器,一切运行良好。

我想我错过了早期的要求guzzlehttp后不运行作曲家更新/狂饮