Symfony \ Thành phần \ Gỡ lỗi \ Ngoại lệ \ FatalErrorException Lỗi rốn


32

Tôi nhận được lỗi này trong dự án Laravel mới của tôi. Tôi đang cố gắng để chạy sau khi cài đặt mới.

Tuyên bố của Symfony \ Thành phần \ Dịch \ TranslatorInterface :: setLocale ($ locale) phải tương thích với Symfony \ Contuces \ Dịch \ LocaleAwareInterface :: setLocale (chuỗi $ locale)


Cài đặt mới - bạn đã không sửa đổi bất cứ điều gì? Ngôn ngữ được đặt là config/app.phpgì?
Jeremy Harris

@JeremyHarris Có cài đặt hoàn toàn mới. Ngôn ngữ mặc định là 'en'
Kuldeep Raj

Vấn đề tương tự ngay sau khi xây dựng hôm nay
Logan B. Lehman

Phiên bản PHP nào bạn đang chạy?
Logan B. Lehman

Tôi có lỗi tương tự ở đây. Đây là một dự án lớn hơn chạy tốt tại địa phương trên windows xampp. Một tuần trước, nó cũng không có lỗi trên máy chủ (centOS như hệ điều hành lưu trữ đám mây). Hôm nay tôi đã sao chép dự án 1: 1 vào máy chủ (bao gồm cả thư mục nhà cung cấp) và đã gặp lỗi này trên máy chủ. Ngoài ra nhà soạn nhạc cài đặt lại không giúp đỡ. Địa phương: Windows, PHP 7.2.11, hoạt động. Máy chủ: centOS như, PHP 7.2.24, lỗi này.
Dario Eberhard

Câu trả lời:


41

Trên máy chủ của tôi sau đây là các cấu hình:

PHP 7.1.26-1 + ubfox14.04.1 + deb.sury.org + 1 Khung rốn 5.7.28

Giải pháp: Đã thêm "symfony/translation": "4.3.8"vào composer.json như sau

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

và sau đó

composer update

hoặc (nếu phiên bản php không được khuyến nghị trên máy chủ)

cập nhật nhà soạn nhạc --ignore-platform-reqs


Sử dụng PHP 7.2 cũng giải quyết vấn đề cho tôi mà không cần thêm "symfony / dịch": "4.3.8"
icynets

41

Tôi đã gặp lỗi tương tự trên PHP 7.2.3 sau composer update(symfony \ dịch v4.3.8 => v4.4.0).

Tôi đã giải quyết vấn đề này với "symfony/translation": "4.3.8"trong composer.json của tôi.

Đó là một ý tưởng tồi để chỉnh sửa các tập tin nhà cung cấp cứng.

-

Biên tập:

Symfony doc nói Cài đặt PHP 7.2.5 trở lên , vì vậy nếu bạn không muốn thêm hạn chế này vào tệp composer.json, bạn có thể nâng cấp phiên bản PHP của mình lên 7.2.5+ (trước tiên hãy kiểm tra tính tương thích của các thư viện khác).


3
Tôi muốn xác nhận đây là phương pháp dễ nhất và tốt nhất. Đã khôi phục lại sáng nay sau khi gặp sự cố tối qua và sửa nó mà không chỉnh sửa bất kỳ tập tin nào. Có một khiếm khuyết trong phiên bản 4.4 của Symfony.
Brett

10
Đây phải là câu trả lời được chấp nhận, vì nó không yêu cầu thực hành xấu như chỉnh sửa tệp nhà cung cấp.
Logan B. Lehman

Hoạt động như quyến rũ!
Ahmad Albab

"symfony / dịch": "4.3.8" không phải "symfony \ dịch": "4.3.8"
Kuldeep Raj

13

Tôi đã nhận được cùng một lỗi ngày hôm nay và tôi đã giải quyết nó với một chút chỉnh sửa. Chỉ cần làm điều này:
Điều hướng đến

nhà cung cấp / symfony / dịch hợp đồng / LocaleAwareInteface.php

và xóa stringtừ khóa khỏi setLocale()chức năng.

Nếu bạn gặp lỗi này sau:

Tuyên bố của Symfony \ Thành phần \ Dịch \ Translator :: trans ($ id, mảng $ tham số = Array, $ domain = NULL, $ locale = NULL) phải tương thích với Symfony \ Contuces \ Translator \ TranslatorInterface :: trans (chuỗi $ id , mảng $ tham số = Mảng ,? chuỗi $ domain = NULL ,? string $ locale = NULL)

Chỉ cần điều hướng đến:

nhà cung cấp / symfony / dịch-hợp đồng / TranslatorInteface.php

và xóa tất cả các stringtừ khóa khỏi trans()chức năng

--BIÊN TẬP--

Nếu bạn không muốn chỉnh sửa tệp của nhà cung cấp, bạn có thể sử dụng tệp này: Mở tệp composer.json của bạn và thêm tệp này vào"require"

"Bản dịch / bản dịch": "4.3.8",

Sau đó mở terminal của bạn và gõ này:

cập nhật nhà soạn nhạc


1
Có lẽ đó là một lỗi tôi đoán. Tuy nhiên, tôi không biết lý do đằng sau điều này.
Kuldeep Raj

17
KHÔNG phải là một ý tưởng tốt để chỉnh sửa các tập tin nhà cung cấp.
Mostafa Attia

1

Nó không phải là một lỗi.

Phiên bản mới nhất của các gói symfony yêu cầu phiên bản PHP tối thiểu là 7.2.5

Thay đổi phiên bản PHP thành 7.2.5 trở lên và nó sẽ hoạt động.


1
Nếu 4.4.X yêu cầu php 7.2.5+, Trình soạn thảo không nên tải xuống phiên bản mới nhất nếu phiên bản PHP hiện tại nhỏ hơn 7.2.5, phải không?
Julien Moulin

Vâng, bạn đúng. Trình soạn thảo nên tải xuống gói được hỗ trợ trong phiên bản PHP hiện tại.
Abhinav Saraswat

4
Không đúng. Trên máy chủ, tôi đang sử dụng php7.3 và tôi vẫn gặp lỗi này
leeCoder

0

Tôi tìm thấy giải pháp đơn giản cho vấn đề này sau khi chuyển vùng google quá lâu. Nếu nó có thể giúp ai đó. Nâng cấp Phiên bản PHP của bạn lên 7.2 trở lên

 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

Thực hiện theo các bước sau sẽ giúp bạn thoát khỏi vấn đề này


0

Trên máy chủ của tôi sau đây là các cấu hình:

PHP 7.2 Laravel Framework 6.*

Giải pháp: Đã thêm "symfony / dịch": "4.3.8" trong composer.json như sau

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

và sau đó

composer update
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.