根据代码内容加载不同的 php.ini文件
我真的不知道发生了什么 - 这一切都始于PHPUnit错误,当试图运行测试覆盖率报告时,并以我调试到下面描述的可复制集结束。但是为了设置舞台 - 我使用的是Laravel 5.5,Xdebug 2.5.5,PHPUnit 6.5.5。我的测试代码说明了这个问题:Error: No code coverage driver is available
<?php
use Tests\TestCase;
class A extends TestCase
{
public function testA()
{
echo( get_cfg_var('cfg_file_path')); exit;
}
}
输出C:\Users\xxx\AppData\Local\Temp\7598.tmp
将其与此输出正确 php.ini 路径的代码进行比较:
<?php
use PHPUnit\Framework\TestCase;
class A extends TestCase
{
public function testA()
{
echo( get_cfg_var('cfg_file_path')); exit;
}
}
输出:C:\server\php\php.ini
怎么可能?加载的php.ini文件如何根据执行的代码而变化?更好的是 - 如何加载我正确的php.ini文件(启用了xdebug)而不是这个冒名顶替者?
在这两种情况下,测试都是使用phpunit tests\unit\a
文件夹结构为:
Laravel Project
└───tests
└───Unit
└───A.php