Symfony \ Component \ Debug \ Exception \ FatalErrorException laravel Error


32

Recibo este error en mi nuevo proyecto Laravel. Estoy intentando ejecutar después de una nueva instalación.

Declaración de Symfony \ Component \ Translation \ TranslatorInterface :: setLocale ($ locale) debe ser compatible con Symfony \ Contracts \ Translation \ LocaleAwareInterface :: setLocale (string $ locale)


Instalación nueva: ¿no modificó nada? ¿En qué idioma está configurado config/app.php?
Jeremy Harris el

@JeremyHarris Sí, instalación completamente nueva. El idioma predeterminado es 'en'
Kuldeep Raj

Mismo problema justo después de construir hoy
Logan B. Lehman

¿Qué versión de PHP estás ejecutando?
Logan B. Lehman

Tengo el mismo error aquí. Es un proyecto más grande que funciona bien localmente en Windows xampp. Hace una semana tampoco tenía errores en el servidor (centOS como el sistema operativo de alojamiento en la nube). Hoy copié el proyecto 1: 1 en el servidor (incluida la carpeta del proveedor) y tuve este error en el servidor. También la reinstalación del compositor no ayuda. Local: Windows, PHP 7.2.11, funciona. Servidor: como centOS, PHP 7.2.24, este error.
Dario Eberhard el

Respuestas:


41

En mi servidor, las siguientes fueron configuraciones:

PHP 7.1.26-1 + ubuntu14.04.1 + deb.sury.org + 1 Laravel Framework 5.7.28

Solución: se agregó "symfony/translation": "4.3.8"en composer.json de la siguiente manera

"require": {
     ...
     "symfony/translation": "4.3.8",
}

y entonces

composer update

o (si la versión php no se recomienda en el servidor)

actualización del compositor --ignore-platform-reqs


Usar PHP 7.2 también me resolvió el problema sin agregar "symfony / translation": "4.3.8"
icynets

41

composer updateObtuve el mismo error en PHP 7.2.3 después (symfony \ translation v4.3.8 => v4.4.0).

Resolví este problema con "symfony/translation": "4.3.8"mi composer.json.

Es una mala idea editar los archivos de los vendedores.

-

Editar:

Symfony doc dice Instalar PHP 7.2.5 o superior , por lo que si no desea agregar esta restricción en su archivo composer.json, puede actualizar su versión de PHP a 7.2.5+ (verifique primero la compatibilidad de otras bibliotecas).


3
Quiero confirmar que este es el mejor y más fácil método. Revertí el mío esta mañana después de tener problemas anoche y lo arreglé sin editar ningún archivo. Hay un defecto en la versión 4.4 de Symfony.
Brett

10
Esta debería ser la respuesta aceptada, ya que no requiere malas prácticas como editar un archivo de proveedor.
Logan B. Lehman el

Funciona como encanto!
Ahmad Albab

"symfony / translation": "4.3.8" no "symfony \ translation": "4.3.8"
Kuldeep Raj

13

Hoy recibí el mismo error y lo resolví con un poco de edición. Solo haz esto:
navega a

proveedor / symfony / contratos de traducción / LocaleAwareInteface.php

y elimine la stringpalabra clave de la setLocale()función.

Si obtiene este error después de esto:

Declaración de Symfony \ Component \ Translation \ Translator :: trans ($ id, array $ parameters = Array, $ domain = NULL, $ locale = NULL) debe ser compatible con Symfony \ Contracts \ Translation \ TranslatorInterface :: trans (string $ id , matriz $ parámetros = Array,? string $ domain = NULL,? string $ locale = NULL)

Solo navega a:

vendedor / symfony / translation-contratos / TranslatorInteface.php

y eliminar todas las stringpalabras clave de la trans()función

--EDITAR--

Si no desea editar archivos de proveedores, puede usar esto: abra su archivo composer.json y agréguelo en"require"

"symfony / translation": "4.3.8",

Luego abra su terminal y escriba esto:

actualización del compositor


1
Tal vez es un error, supongo. Aún así, no sé la razón detrás de esto.
Kuldeep Raj

17
NO es una buena idea editar archivos de proveedores.
Mostafa Attia

1

No es un error

La última versión de los paquetes de Symfony requiere que la versión de PHP sea al menos 7.2.5

Cambie la versión de PHP a 7.2.5 o superior y debería funcionar.


1
Si 4.4.X requiere php 7.2.5+, Composer no debería descargar la última versión si la versión actual de PHP es inferior a 7.2.5, ¿no es así?
Julien Moulin el

Sí, tiene usted razón. Composer debe descargar el paquete que es compatible con la versión actual de PHP.
Abhinav Saraswat

44
No es verdad. En el servidor, estoy usando php7.3 y todavía recibí este error
leeCoder

0

Encontré una solución simple a este problema después de roaming google tanto tiempo. Si pudiera ayudar a alguien. Actualización de su versión de PHP a 7.2 o más

 1. sudo a2dismod phpX(X is less than 7.2 version) 
 2. sudo a2enmod php7.2(could be greater than or equal to 7.2)
 3. service apache2 restart

Seguir estos pasos debería ayudarlo a deshacerse de este problema


0

En mi servidor, las siguientes fueron configuraciones:

PHP 7.2 Laravel Framework 6.*

Solución: se agregó "symfony / translation": "4.3.8" en composer.json de la siguiente manera

"require": {
     ...
     "symfony/translation": "4.3.8",
}

y entonces

composer update
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.