Symfony \ Component \ Debug \ Exception \ FatalErrorException laravel Hatası


32

Bu hatayı yeni Laravel projemde alıyorum. Yeni bir kurulumdan sonra koşmaya çalışıyorum.

Symfony \ Component \ Translation \ TranslatorInterface :: setLocale ($ locale) Bildirimi, Symfony \ Contracts \ Translation \ LocaleAwareInterface :: setLocale (string $ locale) ile uyumlu olmalıdır


Yeni kurulum - hiçbir şeyi değiştirmediniz mi? Dilin dili nedir config/app.php?
Jeremy Harris

@ JererHarris Evet tamamen yeni kurulum. Varsayılan dil 'en'
Kuldeep Raj

Bugün inşa ettikten hemen sonra aynı sorun
Logan B. Lehman

Hangi PHP sürümünü kullanıyorsunuz?
Logan B. Lehman

Burada da aynı hata var. Windows xampp üzerinde yerel olarak iyi çalışan daha büyük bir proje. Bir hafta önce sunucuda da hata yoktu (centOS bulut işletim sistemi gibi). Bugün proje 1: 1 kopyalandı sunucuya (satıcı klasörü dahil) ve sonra sunucuda bu hatayı vardı. Besteci yeniden yükleme de yardımcı olmaz. Yerel: Windows, PHP 7.2.11, çalışıyor. Sunucu: centOS benzeri, PHP 7.2.24, bu hata.
Dario Eberhard

Yanıtlar:


41

Sunucumda aşağıdaki yapılandırmalar vardı:

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

Çözüm: Added "symfony/translation": "4.3.8"içinde composer.json şöyle

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

ve sonra

composer update

veya (sunucuda php sürümü önerilmez)

besteci güncellemesi --ignore-platform-reqs


PHP 7.2 kullanmak da "symfony / translation": "4.3.8" eklemeden benim için sorunu çözdü
icynets

41

PHP 7.2.3 sonra aynı hatayı aldım composer update(symfony \ translation v4.3.8 => v4.4.0).

Bu sorunu "symfony/translation": "4.3.8"composer.json dosyamda çözdüm.

Satıcı dosyalarını düzenlemek zor bir fikirdir.

-

Düzenle:

Symfony doc, PHP 7.2.5 veya üstünü yükle diyor , bu nedenle bu kısıtlamayı composer.json dosyanıza eklemek istemiyorsanız, PHP sürümünüzü 7.2.5+ sürümüne yükseltebilirsiniz (önce diğer kütüphanelerin uyumluluğunu kontrol edin).


3
Bunun en kolay ve en iyi yöntem olduğunu onaylamak istiyorum. Dün gece sorun yaşadıktan sonra bu sabah benimkini geri aldım ve herhangi bir dosyayı düzenlemeden düzeltti. Symfony'un 4.4 sürümünde bir kusur var.
Brett

10
Bir satıcı dosyasını düzenlemek gibi kötü uygulamalar gerektirmediğinden, bu kabul edilen cevap olmalıdır.
Logan B. Lehman

Cazibe gibi çalışır!
Ahmad Albab

"symfony / translation": "4.3.8" değil "symfony \ translation": "4.3.8"
Kuldeep Raj

13

Bugün aynı hatayı aldım ve küçük bir düzenleme ile çözdüm. Bunu yapın:
Şuraya gidin :

satıcı / symfony / çeviri-sözleşmeler / LocaleAwareInteface.php

ve fonksiyondan stringanahtar kelimeyi silin setLocale().

Bundan sonra bu hatayı alırsanız:

Symfony \ Component \ Translation \ Translator :: trans ($ id, dizi $ parametreleri = Dizi, $ domain = NULL, $ locale = NULL) bildirimi Symfony \ Contracts \ Translation \ TranslatorInterface :: trans (string $ id ile uyumlu olmalıdır , array $ parameters = Dizi,? string $ domain = NULL,? string $ locale = NULL)

Şuraya gidin:

satıcı / symfony / çeviri-sözleşmeler / TranslatorInteface.php

ve tüm stringanahtar kelimeleri trans()işlevden silin

--DÜZENLE--

Tedarikçi dosyalarını düzenlemek istemiyorsanız, bunu kullanabilirsiniz: composer.json dosyanızı açın ve bunu"require"

"symfony / translation": "4.3.8",

Ardından terminalinizi açın ve şunu yazın:

besteci güncellemesi


1
Belki de sanırım bir hatadır. Yine de, bunun nedenini bilmiyorum.
Kuldeep Raj

17
Satıcı dosyalarını düzenlemek için iyi bir fikir DEĞİLDİR.
Mostafa Attia

1

Bu bir hata değil.

Symfony paketlerinin en son sürümü PHP sürümünün en az 7.2.5 olmasını gerektirir

PHP sürümünü 7.2.5 veya daha yüksek bir sürümle değiştirin ve çalışması gerekir.


1
4.4.X php 7.2.5+ sürümünü gerektiriyorsa, geçerli PHP sürümü 7.2.5'ten küçükse Composer en son sürümü indirmemelidir, değil mi?
Julien Moulin

Evet haklısın. Composer, geçerli PHP sürümünde desteklenen paketi indirmelidir.
Abhinav Saraswat

4
Doğru değil. Sunucuda, php7.3 kullanıyorum ve hala bu hatayı aldım
leeCoder

0

Google'da çok uzun süre dolaştıktan sonra bu soruna basit bir çözüm buldum. Birine yardım edebilirse. PHP Sürümünüzü 7.2 veya daha yüksek bir sürüme yükseltme

 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

Bu adımları izlemeniz, bu sorundan kurtulmanıza yardımcı olacaktır


0

Sunucumda aşağıdaki yapılandırmalar vardı:

PHP 7.2 Laravel Framework 6.*

Çözüm: Added "4.3.8": "symfony / çeviri" in composer.json şöyle

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

ve sonra

composer update
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.