Sintaxis inválida
Estoy tratando de usar Mandrill para enviar correos electrónicos a través de mi marco Laravel, sin embargo, recibo el siguiente error:
FatalErrorException en MandrillTransport.php línea 114: Clase ‘GuzzleHttp\Client’ no encontrada
Instalé Guzzle usando el siguiente comando en la Terminal:
"guzzlehttp/guzzle": "~4.0"
De acuerdo con la documentación de Laravel, necesito agregar "guzzlehttp/guzzle": "~4.0"
a mi archivo composer.json, pero no estoy seguro de si el lugar donde lo coloqué es correcto, ya que todavía veo el error.
{
"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"
}
}
Aquí está la lista de paquetes que tiene mi aplicación, tenga en cuenta que guzzle tiene una versión diferente: 4.2.3 a la que también intenté actualizar pero sigo teniendo el mismo error.
champú
Abra su terminal en la raíz de su proyecto e ingrese
composer require guzzlehttp/guzzle
Funcionó para la API de mailgun. Por alguna razón, el método sugerido en el documento de correo de laravel. Puede instalar este paquete en su proyecto agregando la siguiente línea a su composer.json
expediente
"guzzlehttp/guzzle": "~5.3|~6.0"
no hace que el compositor descargue el Guzzle
códigos fuente Por cierto, no descubrí qué |
medios para determinar la versión. Este comando solo descarga el código PSR.
En este momento, la solución puede funcionar. Sin embargo, tenga en cuenta los problemas de compatibilidad. Porque el comando instalaría la última versión estable, no la adecuada.
si estás usando Laravel cuando te encuentres con este error, simplemente ejecuta:
composer require guzzlehttp/guzzle
E intenta de nuevo.
Después de actualizar su composer.json
archivo que necesita para ejecutar el actualizar comando para resolver e instalar sus dependencias:
composer update
o, si el compositor no está en su camino:
php composer.phar update
-
He intentado esto, pero el problema aún persiste. Aquí está la salida de
composer update
:Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files Generating optimized class loader
– Sintaxis inválida
5 de julio de 2015 a las 4:24
-
@Imran Después de ver sus actualizaciones, parece que Guzzle está instalado correctamente, pero no se carga automáticamente. El autocargador de tu compositor debe tener una entrada para GuzzleHttp (registrar
vendor/composer/autoload_psr4.php
y déjame saber si hay una línea paraGuzzleHttp
). Solo estoy familiarizado con composer, no con Laravel, pero parece que deberías ejecutar el comandophp artisan dump-autoload
para regenerar el cargador automático de Laravel.– Pablo
5 de julio de 2015 a las 4:49
-
he intentado usar
php artisan dump-load
pero obtengo un error de ‘Comando no definido’. yo tambien he probadocomposer dump-autoload
que generó los archivos de carga automática, pero sigo recibiendo el mismo error Clase no encontrada en mi pregunta original.– Sintaxis inválida
5 de julio de 2015 a las 22:54
Has probado :
artisan clear-compiled
o si craft no está disponible, intente eliminar compiled.php si existe (en el directorio del proveedor) y ejecute composer dumpautoload
Tuve el mismo problema. Usé una versión antigua para poder trabajar. Ya no funciona desde la versión 4. Funciona en la versión 3.8.1
Entonces puede agregar “guzzlehttp/guzzle”: “~3” para que funcione
muhammad sulman
simple en mi caso agregar "guzzlehttp/guzzle": "^6.3"
en composer.json
requiere objeto como se menciona a continuación
"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"
},
que correr composer update
en la raíz del proyecto usando la terminal que funciona bien.
gokigoooooks
No sé por qué esto funcionó para mí, vi esto en un foro en alguna parte
Acabo de agregar este generador de captcha al archivo composer.json
"mews/captcha": "~2.0.",
lo agregó a todo el paquete requerido
"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"
},
Si alguien sabe por qué esto funcionó, realmente me rascaría la picazón en el cerebro.
-
Podría deberse a que mews/captcha requiere la dependencia.
– FooBar
23 de enero de 2016 a las 16:24
¿Cómo resolver este problema?
– Irrompible
14 de octubre de 2015 a las 6:22