Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔:阶级';GuzzleHttp\Client';找不到_Php_Laravel_Composer Php_Mandrill - Fatal编程技术网

Php 拉威尔:阶级';GuzzleHttp\Client';找不到

Php 拉威尔:阶级';GuzzleHttp\Client';找不到,php,laravel,composer-php,mandrill,Php,Laravel,Composer Php,Mandrill,我试图使用Mandrill通过我的Laravel框架发送电子邮件,但我收到以下错误: MandrillTransport.php第114行中的FatalErrorException:类 找不到“GuzzleHttp\Client” 我已在终端中使用以下命令安装Guzzle: "guzzlehttp/guzzle": "~4.0" 根据Laravel的文档,我需要在composer.json文件中添加“guzzlehttp/guzzle”:“~4.0”,但我不确定我把它放在哪里是否正确,因为我仍

我试图使用Mandrill通过我的Laravel框架发送电子邮件,但我收到以下错误:

MandrillTransport.php第114行中的FatalErrorException:类 找不到“GuzzleHttp\Client”

我已在终端中使用以下命令安装Guzzle:

"guzzlehttp/guzzle": "~4.0"
根据Laravel的文档,我需要在composer.json文件中添加
“guzzlehttp/guzzle”:“~4.0”
,但我不确定我把它放在哪里是否正确,因为我仍然看到错误

{
    "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.json
文件后,需要运行命令来解析和安装依赖项:

composer update
或者,如果composer不在您的路径中:

php composer.phar update
您是否尝试过:

artisan clear-compiled 

或者,如果artisan不可用,请尝试删除compiled.php(如果存在)(在供应商目录中),并启动composer dumpautoload

我不知道为什么这对我有效,我在某个论坛上看到了这一点

我刚刚将这个验证码生成器添加到composer.json文件中

"mews/captcha": "~2.0.",
将其添加到所有必需的包中

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*",
    "laravelcollective/html": "5.1.*",
    "laracasts/flash": "~1.3",
     "mews/captcha": "~2.0.",
    "guzzlehttp/guzzle": "~4.0"
    },

如果有人知道这是为什么,那真的会让我头痛不已。

当我在独立文件中测试时,试图在Laravel框架之外运行代码时,我遇到了这个错误。当我将它移动到控制器中时,它对我起了作用。

打开项目根目录下的终端,然后输入

composer require guzzlehttp/guzzle
它适用于mailgun API。出于某种原因,建议的方法在laravel的邮件文档中。您可以通过将以下行添加到
composer.json
文件,将此软件包安装到您的项目中

"guzzlehttp/guzzle": "~5.3|~6.0"
不会让作曲家下载
Guzzle
源代码。顺便说一下,在确定版本时,我没有发现
|
意味着什么。此命令仅下载PSR代码

在这一刻,解决方案可能会奏效但是,请注意兼容性问题。因为该命令将安装最新的稳定版本,而不是合适的版本

我也有同样的问题。 为了工作,我使用了旧版本。 从版本4开始,它就不再工作了。 它适用于3.8.1版


因此,您可以将“guzzlehttp/guzzle”:“~3”添加到works

您可以解决此问题,将
的“mews/captcha”:“1.0.1”
的“guzzlehttp/guzzle”:“~4.0”
添加到composer.json文件中。然后需要在终端上运行
composer update
命令


我试过拉威尔4号。这对我很有用。

如果遇到此错误时使用的是Laravel,只需运行:

composer require guzzlehttp/guzzle

然后再试一次。

简单在我的例子中,在
composer.json中添加
“guzzlehttp/guzzle”:“^6.3”
需要如下所述的对象

"require": {
        "php": ">=7.0.0",
        "ext-gd": "*",
        "barryvdh/laravel-cors": "^0.11.2",
        "barryvdh/laravel-dompdf": "^0.8.1",
        "dingo/api": "2.0.0-alpha1",
        "doctrine/dbal": "^2.6",
        "fideloper/proxy": "~3.3",
        "guzzlehttp/guzzle": "^6.3",
        "intervention/image": "^2.4",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "league/flysystem-aws-s3-v3": "~1.0",
        "predis/predis": "^1.1",
        "tymon/jwt-auth": "dev-develop"
    }, 

然后使用terminal在project root中运行
composer update
,这比它的工作状态好。

我已经尝试过了,但问题仍然存在。以下是
composer update
的输出:
加载具有包信息更新依赖项的composer存储库(包括require dev)无需安装或更新生成自动加载文件生成优化的类加载器
@Imran在看到您的更新后,Guzzle似乎已正确安装,但它不是自动加载的。您的composer autoloader应该有一个GuzzleHttp条目(请登录
vendor/composer/autoload_psr4.php
,并告诉我是否有一行GuzzleHttp
)。我只熟悉composer,而不熟悉Laravel,但看起来您应该运行命令
php artisan dump autoload
来重新生成Laravel的autoloader。我尝试过使用
php artisan dump load
,但出现了一个“命令未定义”错误。我还尝试了生成自动加载文件的
composer dump autoload
,但我仍然收到与我原始问题相同的类not found error。是的,我尝试过,但仍然收到错误。我的供应商目录中没有编译的.php文件,我已经运行了
composer dump autoload
,如果可能的话,您应该删除composer.lock和vendor文件夹并尝试重新安装。如何解决此问题?可能是因为mews/captcha需要依赖项。