我正在尝试使用 Mandrill 通过我的 Laravel 框架发送电子邮件,但是我收到以下错误:
FatalErrorException in MandrillTransport.php line 114: Class 'GuzzleHttp\Client' not found
我已经在终端中使用以下命令安装了 Guzzle:
"guzzlehttp/guzzle": "~4.0"
根据 Laravel 的文档,我需要将 "guzzlehttp/guzzle": "~4.0"
添加到我的 composer.json 文件中,但我不确定我放置的位置是否正确我仍然看到错误。
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"laravel/framework": "5.0.*",
"illuminate/html": "^5.0",
"guzzlehttp/guzzle": "~4.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php -r \"copy('.env.example', '.env');\"",
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
}
}
这是我的应用程序的软件包列表,请注意 guzzle 有一个不同的版本:4.2.3,我也尝试过更新,但仍然出现相同的错误。
最佳答案
在项目的根目录下打开终端并输入
composer require guzzlehttp/guzzle
它适用于 mailgun API。出于某种原因,laravel 的邮件文档中建议的方法。您可以通过将以下行添加到您的 composer.json
文件
"guzzlehttp/guzzle": "~5.3|~6.0"
不会让 Composer 下载 Guzzle
源代码。顺便说一句,我没有找到确定版本的|
是什么意思。此命令仅下载 PSR 代码。
此刻,解决方案可能会奏效。 但是,请注意兼容性问题。因为该命令会安装最新的稳定版本,而不是合适的版本。
关于php - Laravel:找不到类 'GuzzleHttp\Client',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227080/