登录页面中的错误symfony - 警告:gettext()

时间:2018-03-09 14:34:22

标签: php linux symfony gettext

当我在localhost中登录我的页面时:

mylocal.com/app_dev.php/login,我有这个错误:

enter image description here

  

在渲染模板期间抛出了异常   ("警告:gettext()需要1个参数,3个给定")。

在这个模板上:

<div class="form-group">
   <input type="text" id="username" name="_username" value="{{ last_username }}" required="required" placeholder="{{ 'security.login.username'|trans }}" class="form-control" />
</div>

我的composer.json:

"require": {
        "php": ">=7.1",
        "doctrine/doctrine-bundle": "^1.6",
        "doctrine/orm": "^2.5",
        "friendsofsymfony/jsrouting-bundle": "^1.6",
        "friendsofsymfony/user-bundle": "2.0.2",
        "incenteev/composer-parameter-handler": "^2.0",
        "knplabs/doctrine-behaviors": "^1.4",
        "sensio/distribution-bundle": "^5.0.19",
        "sensio/framework-extra-bundle": "^5.0.0",
        "symfony/assetic-bundle": "^2.8",
        "symfony/monolog-bundle": "^3.1.0",
        "symfony/polyfill-apcu": "^1.0",
        "symfony/swiftmailer-bundle": "^2.6.4",
        "symfony/symfony": "3.4.*",
        "twig/twig": "^2.0",
        "twig/extensions": "^1.5"
    },

我的版本:

PHP: PHP 7.2.2-3 + ubuntu16.04.1 + deb.sury.org + 1(cli)(建于:2018年2月6日16:11:23)(NTS)

阿帕奇: 服务器版本:Apache / 2.4.18(Ubuntu)

5 个答案:

答案 0 :(得分:3)

如果你使用Twig-extensions,它可能来自i18n扩展。 所以为了快速修复它,juste禁用了i18n扩展。

http://twig-extensions.readthedocs.io/en/latest/i18n.html

答案 1 :(得分:1)

如果有人遇到与 相同的问题在呈现模板期间抛出异常(&#34;警告:gettext()需要1个参数,3个给定&#34;)。< / em> 检查您的配置是否已注册的枝条扩展名并将其删除:

twig.extension.i18n:
    class: Twig_Extensions_Extension_I18n
    tags:
        - { name: twig.extension }

答案 2 :(得分:0)

我认为这是因为你的翻译。 Twig希望{{}}是一个php变量而不是字符串。试试这个:

{% trans %}security.login.username{% endtrans %}

答案 3 :(得分:0)

确保已安装symfony/twig-bridge

答案 4 :(得分:0)

<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" placeholder="{{ 'security.login.username'|trans }}" class="form-control" />

我不确定为什么使用 security.login.username 的引号,看起来你正试图从安全对象中获取一些价值,如果有,那么尝试删除这样的引号:

<input type="text" id="username" name="_username" value="{{ last_username }}" required="required" placeholder="{{ security.login.username|trans }}" class="form-control" />