Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未找到全局细枝变量的Symfony insight环境变量_Php_Symfony_Twig_Gitlab Ci_Symfony4 - Fatal编程技术网

Php 未找到全局细枝变量的Symfony insight环境变量

Php 未找到全局细枝变量的Symfony insight环境变量,php,symfony,twig,gitlab-ci,symfony4,Php,Symfony,Twig,Gitlab Ci,Symfony4,为了提高代码质量,我正在使用gitlab CI运行Symfony Insight 我最近添加了GoogleReCAPTCHA,它需要一个公共令牌(在twig中使用)和一个私有令牌(在controller中使用) 为了做一个干净的工作,我添加了它们作为环境变量,添加了pub变量作为twig全局变量,并使用getenv获得了私有变量 我现在在Symfony insight上收到“Symfony应用程序应可启动”错误,并显示以下stacktrace: Symfony\Component\Depende

为了提高代码质量,我正在使用gitlab CI运行Symfony Insight

我最近添加了GoogleReCAPTCHA,它需要一个公共令牌(在twig中使用)和一个私有令牌(在controller中使用)

为了做一个干净的工作,我添加了它们作为环境变量,添加了pub变量作为twig全局变量,并使用getenv获得了私有变量

我现在在Symfony insight上收到“Symfony应用程序应可启动”错误,并显示以下stacktrace:

Symfony\Component\DependencyInjection\Exception\EnvNotFoundException:未找到环境变量:“RECAPTCHA\U PUBLIC\U KEY”。在/home/foobar/code/vendor/symfony/dependency injection/EnvVarProcessor.php:97中

请注意,在本地和php单元测试(也由CI运行)上,一切都正常工作

我猜insight在尝试启动全局twig变量时没有找到env var

这是我的.env.dist文件:(这些密钥是google测试密钥,不是我的真实密钥,别担心)

以及我的gitlab ci insight配置:

insight:
    stage: insight
    image: php:7.1
    tags:
        - symfony4
    script:
        - curl -o insight.phar -s https://get.insight.symfony.com/insight.phar
        - php insight.phar analyze --no-interaction --no-ansi cc8f0c98-ce1b-4b1e-acc4-9dfafd4bafc4 -v --reference=$CI_COMMIT_SHA --user-uuid=23888e4d-ec4f-479b-90c6-ee454c7bfc88 --api-token=b1dcbef05392e237a5ee5d29ea348b9ab7179245b0f086c3490478b0ae643272 --fail-condition="counts.critical > 0 or counts.major > 0"
    only:
        - develop
        - master
variables:
    MYSQL_DATABASE: higalsymf
    DATABASE_HOST: mysql
    MYSQL_ROOT_PASSWORD: root

第一个想法:您可以在gitlab-ci.yml的
变量
部分插入令牌


第二个想法是在gitlab ci.yml中脚本之前的
部分中添加命令
cp.env.dist.env

谢谢您的回答。我尝试了第一个想法,但没有成功。对于第二个,symfony insight应该进行复制,这里是他们的默认conf文件:!我猜它是为symfony 4更新的,因为这是一个symfony 2-3版本的情况更新。我试着添加以下几行:pre|u composer_script:|#/bin/bash cp.env.dist.env正如文档建议的那样,在insight conf中。我还尝试将其作为变量添加到gitlab-ci.yml和before脚本中。它们都不起作用。
globals:
    recaptcha_public_key: '%env(RECAPTCHA_PUBLIC_KEY)%'
insight:
    stage: insight
    image: php:7.1
    tags:
        - symfony4
    script:
        - curl -o insight.phar -s https://get.insight.symfony.com/insight.phar
        - php insight.phar analyze --no-interaction --no-ansi cc8f0c98-ce1b-4b1e-acc4-9dfafd4bafc4 -v --reference=$CI_COMMIT_SHA --user-uuid=23888e4d-ec4f-479b-90c6-ee454c7bfc88 --api-token=b1dcbef05392e237a5ee5d29ea348b9ab7179245b0f086c3490478b0ae643272 --fail-condition="counts.critical > 0 or counts.major > 0"
    only:
        - develop
        - master
variables:
    MYSQL_DATABASE: higalsymf
    DATABASE_HOST: mysql
    MYSQL_ROOT_PASSWORD: root