【问题标题】:environmental variables in host annotations主机注释中的环境变量
【发布时间】:2018-04-20 06:41:24
【问题描述】:

我正在创建一个处理子域的网站,我已经设置了一个名为 base_host 的环境变量,现在我想将它用于 Symfony 4 中的 @route 注释。

到目前为止我已经尝试过:@Route("/", name="homepage", host="{afdeling}.{domain}", defaults={"domain"="%env(base_host)%"}, requirements={"domain"="%env(base_host)%"}) 但这给了我一个错误:using %env(base_host)% is not allowed in routing configuration

我也试过:@Route("/", name="homepage", host="{afdeling}.%env(base_host)%") 这根本不起作用。

我也尝试过:@Route("/", name="homepage", host="{afdeling}.{domain}", defaults={"domain"="%base_host%"}, requirements={"domain"="%base_host%"}) 但这给了我错误消息:The parameter "base_host" must be defined.

我怎样才能做到这一点?

【问题讨论】:

    标签: php symfony routing annotations environment-variables


    【解决方案1】:

    在路由配置中(尚)不支持环境变量。作为解决方法,您可以创建一个“proxy”容器参数来实现它:

    # app/config/config.yml <= Sf 3.4 >= config/services.yaml
    parameters:
        base_host: '%env(BASE_HOST)%'
    

    然后将%base_host% 用于任何路由选项。

    【讨论】:

    • 今天仍然有效!
    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 2020-06-28
    • 2015-04-02
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多