繁体   English   中英

Symfony\Component\Debug\Exception\FatalErrorException laravel 错误

[英]Symfony\Component\Debug\Exception\FatalErrorException laravel Error

我的新 Laravel 项目出现此错误。 我试图在全新安装后运行。

Symfony\Component\Translation\TranslatorInterface::setLocale($locale) 的声明必须与 Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale) 兼容

在我的服务器上,以下是配置:

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

解决方案:composer.json中添加"symfony/translation": "4.3.8"如下

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

接着

composer update

或者(如果服务器不推荐php版本)

作曲家更新--ignore-platform-reqs

composer update (symfony\translation v4.3.8 => v4.4.0)后,我在 PHP 7.2.3 上遇到了同样的错误。

我在 composer.json 中用"symfony/translation": "4.3.8"

硬编辑供应商文件是个坏主意。

--

编辑:

Symfony doc says Install PHP 7.2.5 or higher , so if you don't want to add this restriction into your composer.json file, you can upgrade your PHP version to 7.2.5+ (check others libraries compatibility first).

我今天遇到了同样的错误,我通过一些编辑解决了它。 只需这样做:
导航

供应商/symfony/translation-contracts/LocaleAwareInteface.php

并从setLocale() function 中删除string关键字。

如果您在此之后收到此错误:

Symfony\Component\Translation\Translator::trans($id, array $parameters = Array, $domain = NULL, $locale = NULL) 的声明必须与 Symfony\Contracts\Translation\TranslatorInterface::trans(string $id) 兼容, 数组 $parameters = 数组, ?string $domain = NULL, ?string $locale = NULL)

只需导航到:

供应商/symfony/translation-contracts/TranslatorInterface.php

并从trans() function 中删除所有string关键字

- 编辑 -

如果您不想编辑供应商文件,可以使用:打开您的 composer.json 文件,并将其添加到"require"

“symfony/翻译”:“4.3.8”,

然后打开你的终端并输入:

作曲家更新

这不是一个错误。

最新版本的 symfony 软件包要求 PHP 版本至少为 7.2.5

将 PHP 版本更改为 7.2.5 或更高版本,它应该可以工作。

在我的服务器上,以下是配置:

PHP 7.2 Laravel Framework 6.*

解决方案:在composer.json中添加“symfony/translation”:“4.3.8”如下

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

接着

composer update

将我的 PHP 版本更新到 7.3 对我有用。

“symfony/translation”:composer.json 中的“4.3.8”,它帮助了我。!!非常感谢。

在漫游谷歌这么久之后,我找到了解决这个问题的简单方法。 如果它可以帮助某人。 将您的 PHP 版本升级到 7.2 或更高版本

 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

遵循这些步骤应该可以帮助您摆脱这个问题

更新您的 PHP 版本。 这通常是由于使用不同版本的 PHP 运行composer update导致的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM