Ich versuche, Mandrill zum Versenden von E-Mails über mein Laravel-Framework zu verwenden. Ich erhalte jedoch die folgende Fehlermeldung:
FatalErrorException in MandrillTransport.php-Zeile 114: Klasse 'GuzzleHttp\Client' wurde nicht gefunden
Ich habe Guzzle mit folgendem Befehl in Terminal installiert:
"guzzlehttp/guzzle": "~4.0"
Laut der Dokumentation von Laravel muss ich "guzzlehttp/guzzle": "~4.0"
meiner composer.json-Datei hinzufügen, aber ich bin mir nicht sicher, ob ich sie richtig platziert habe, da der Fehler immer noch angezeigt wird.
{
"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"
}
}
Hier ist die Liste der Pakete, die meine Anwendung hat. Beachten Sie, dass guzzle eine andere Version hat: 4.2.3, bei dem ich auch versucht habe zu aktualisieren, aber immer noch den gleichen Fehler erhalten.
Öffnen Sie Ihr Terminal im Stammverzeichnis Ihres Projekts und geben Sie es ein
composer.phar require guzzlehttp/guzzle
Es funktionierte für die Mailgun-API. Aus irgendeinem Grund wurde die im Mail-Dokument der Laravel vorgeschlagene Methode vorgeschlagen
"guzzlehttp/guzzle": "~5.3|~6.0"
der Composer muss nicht die Guzzle
-Quellcodes herunterladen. Ich habe übrigens nicht herausgefunden, was |
für die Versionsbestimmung bedeutet. Dieser Befehl lädt nur den PSR-Code herunter.
In diesem Moment kann die Lösung funktionieren. Beachten Sie jedoch Kompatibilitätsprobleme. Da der Befehl die neueste stabile Version installieren würde, nicht die geeignete.
Wenn Sie Laravel verwenden, wenn Sie auf diesen Fehler stoßen, führen Sie einfach Folgendes aus:
composer require guzzlehttp/guzzle
Und versuche es noch mal.
Nach dem Aktualisieren Ihrer composer.json
-Datei müssen Sie den Befehl update ausführen, um Ihre Abhängigkeiten aufzulösen und zu installieren:
composer update
oder, wenn der Komponist nicht in Ihrem Pfad ist:
php composer.phar update
Hast du versucht :
artisan clear-compiled
wenn kein Handwerker verfügbar ist, versuchen Sie, compiled.php zu entfernen, falls vorhanden (im Herstellerverzeichnis), und starten Sie den Composer dumpautoload
Ich hatte das gleiche Problem . Ich habe eine alte Version verwendet, um zu funktionieren . Es funktioniert nicht mehr seit Version 4 ...
Sie können also "guzzlehttp/guzzle" hinzufügen: "~ 3" funktioniert
Sie können dieses Problem lösen, indem Sie "mews/captcha": "1.0.1"
und "guzzlehttp/guzzle": "~4.0"
zu Ihrer Datei composer.json hinzufügen. Und dann müssen Sie den Befehl composer update
auf Ihrem Terminal ausführen.
Ich habe an Laravel 4 versucht. Es funktioniert für mich.
einfach in meinem Fall fügen Sie "guzzlehttp/guzzle": "^6.3"
in composer.json
.__
"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"
},
dann composer update
im Projektstamm mit Terminal ausführen, als es funktioniert.
Ich habe diesen Fehler erhalten, als ich versuchte, meinen Code außerhalb des Laravel-Frameworks auszuführen, während ich in einer eigenständigen Datei testete. Es hat für mich funktioniert, als ich es in einen Controller verschoben habe.