我正在使用symfony和phpunit进行测试。
我在foodmeup.dev目录中有一个项目,我将其复制到foodmeupnew.dev
现在,当从phpStorm命令行调用phpunit时,我在前一个文件夹中查找的自动加载文件有些奇怪。
请参阅以下内容,在第8行,它将foodmeupnew.dev中的dir更改为foodmeup.dev,我该如何更正?
> D:\Divers\Programmation\Web\foodmeupnew.dev\bin\phpunit.bat -c app
Fatal error: Cannot redeclare getLadybug() (previously declared in D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\raulfraile\ladybug-themes\Ladybug\Plugin\Extra\Resources\php\helpers.php:12) in D:\Divers\Programmation\Web\foodmeup.dev\vendor\raulfraile\ladybug-themes\Ladybug\Plugin\Extra\Resources\php\helpers.php on line 21
Call Stack:
0.0002 234304 1. {main}() D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\phpunit:0
0.0088 1457264 2. PHPUnit_TextUI_Command::main() D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\phpunit:36
0.0088 1463816 3. PHPUnit_TextUI_Command->run() D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\TextUI\Command.php:99
0.0088 1466536 4. PHPUnit_TextUI_Command->handleArguments() D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\TextUI\Command.php:109
0.0132 2056112 5. PHPUnit_TextUI_Command->handleBootstrap() D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\TextUI\Command.php:575
0.0134 2065160 6. PHPUnit_Util_Fileloader::checkAndLoad() D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\TextUI\Command.php:750
0.0136 2065352 7. PHPUnit_Util_Fileloader::load() D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\Util\Fileloader.php:36
0.0183 3407040 8. include_once('D:\Divers\Programmation\Web\foodmeup.dev\app\bootstrap.php.cache') D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\Util\Fileloader.php:52
0.0185 3409304 9. require_once('D:\Divers\Programmation\Web\foodmeup.dev\app\autoload.php') D:\Divers\Programmation\Web\foodmeup.dev\app\bootstrap.php.cache:5
0.0187 3411320 10. require('D:\Divers\Programmation\Web\foodmeup.dev\vendor\autoload.php') D:\Divers\Programmation\Web\foodmeup.dev\app\autoload.php:9
0.0191 3424808 11. ComposerAutoloaderInit751ca4f7e73ded3907cdc8698c543ac6::getLoader() D:\Divers\Programmation\Web\foodmeup.dev\vendor\autoload.php:7
0.0214 3630760 12. composerRequire751ca4f7e73ded3907cdc8698c543ac6() D:\Divers\Programmation\Web\foodmeup.dev\vendor\composer\autoload_real.php:45
编辑:
我采取了以下措施来确保foodmeup.dev没有硬编码: - 查找并替换包含隐藏文件和系统文件的每个文件的内容字符串' foodmeup.dev'由foodmeupnew.dev' - 删除整个目录,创建新目录,拉git分支,运行composer install,重置bootstrap.cache
同样的错误再次发生。我确定可能存在一些配置错误,但我可以找到它的来源。任何线索?
EDIT2
好的,我发现第5行正在加载phpunit配置,其中包含硬编码的&foodmeup.dev'值。 这种配置来自哪里......即找出
> $phpunit - D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\TextUI\Command.php:566
============================================================================================================
array(
[colors] => string(4) "auto"
[backupGlobals] => bool(false)
[bootstrap] => string(64) "D:\Divers\Programmation\Web\foodmeup.dev\app\bootstrap.php.cache"
)
编辑3
深入研究,我发现在文件D:\Divers\Programmation\Web\foodmeupnew.dev\vendor\phpunit\phpunit\src\TextUI\Command.php:566
中,应用于相对路径的realpath函数会呈现不同的路径。
var_dump($this->arguments['configuration'] . '/phpunit.xml');
string(15)" app / phpunit.xml"
var_dump(realpath($this->arguments['configuration'] . '/phpunit.xml'));
realpath($ this-> arguments [' configuration']。' /phpunit.xml') - D:\ Divers \ Programmation \ Web \ foodmeupnew.dev \ vendor \ PHPUnit的\ PHPUnit的的\ src \文本界面\ Command.php:529 ================================================== ================================================== ================================================== ========== string(56)" D:\ Divers \ Programmation \ Web \ foodmeup.dev \ app \ phpunit.xml"
当从foodmeupnew.dev目录中的文件调用时,如何使用realpath函数呈现foodmeup.dev的路径?
编辑4:
我发现这是一个phpStorm问题。必须有一个全局变量来设置php函数的目录。如果我从外部命令行运行命令,则不会出现错误