gpt4 book ai didi

php - 将自定义 php.ini 传递给 phpunit

转载 作者:可可西里 更新时间:2023-11-01 13:21:41 24 4
gpt4 key购买 nike

如何将自定义的 php.ini 传递给 phpunit?

来源使用

get_cfg_var 

代替

ini_get

很遗憾,它不使用 ini_set、-d 选项等设置的值。

现在传递值的唯一方法是使用额外的 php.ini。我如何将它传递给 phpunit?

血淋淋的细节:

我试着用 -d 传入

phpunit --filter testgetdesc -d SIEF_VALIDATOR_DOC_ROOT="htdocs" 
--configuration tests/phpunit.xml tests/configHelperTest.php

public function testgetdesc() {
echo get_cfg_var("SIEF_VALIDATOR_DOC_ROOT")."---test---";
}

它只是回应“---test---”

原因是这也使用了 ini_set:

https://github.com/sebastianbergmann/phpunit/blob/master/PHPUnit/TextUI/Command.php

            case 'd': {
$ini = explode('=', $option[1]);

if (isset($ini[0])) {
if (isset($ini[1])) {
ini_set($ini[0], $ini[1]);
} else {
ini_set($ini[0], TRUE);
}
}
}

同样在 phpunit.xml 中,我有

<php>
<ini name="SIEF_VALIDATOR_DOC_ROOT" value="bar"/>
</php>

这行不通 [而且我不希望它行得通]。

最佳答案

-d应该可以工作,因为 PHPs get_cfg_var() function阅读那些:

$ php -d display.errors2=1 -r "echo get_cfg_var('display.errors2');"
1

要将自定义 ini 设置(或者带有 -c <file> 的 ini 文件)传递给 phpunit,调用它配置:

$ php -c <file> -d setting=value $(which phpunit) <your-params>...

引用/另见:

关于php - 将自定义 php.ini 传递给 phpunit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com