我很高兴在我的开发环境中工作,突然间我开始收到以下错误:
PHP致命错误:无法在第59行的[APP_ROOT] /vendor/composer/autoload_real.php中重新声明composerRequire7a368ac394ae1d2e857becf2a235ebaa()(先前在[APP_ROOT] /vendor/composer/autoload_real.php:56中声明)
我没有对作曲家依赖关系进行任何改动(尽管我认为我确实composer update在那个时间框架内做了某个地方,但没有对所使用的依赖关系/包进行任何更改,所以没有什么大的改变.
值得注意的是,当我在我的笔记本电脑上结帐回购时,我没有收到此错误,但如果我git clone是一个干净的回购,然后composer install在我的主要开发机器上,我会收到此错误.所以我假设它必须有一些特定于机器的起源,但我对这可能是什么的想法已经不多了.
任何帮助将不胜感激.
注意:我在OSX上运行PHP 5.3.28; 我的应用程序使用命名空间并且符合PSR0
另外值得注意的是,我正在运行PHPUnit 4.0.17并且在尝试运行单元测试的最初阶段触发错误(与单元测试无关).这是堆栈跟踪:
Run Code Online (Sandbox Code Playgroud)0.0009 636648 1. {main}() [APP_BASE]/vendor/phpunit/phpunit/phpunit:0 0.0465 1423664 2. PHPUnit_TextUI_Command::main() [APP_BASE]/vendor/phpunit/phpunit/phpunit:54 0.0465 1424280 3. PHPUnit_TextUI_Command->run() [APP_BASE]/vendor/phpunit/phpunit/src/TextUI/Command.php:132 0.0465 1424280 4. PHPUnit_TextUI_Command->handleArguments() [APP_BASE]/vendor/phpunit/phpunit/src/TextUI/Command.php:141 0.0674 2123344 5. PHPUnit_TextUI_Command->handleBootstrap() [APP_BASE]/vendor/phpunit/phpunit/src/TextUI/Command.php:638 0.0681 2139872 6. PHPUnit_Util_Fileloader::checkAndLoad() [APP_BASE]/vendor/phpunit/phpunit/src/TextUI/Command.php:808 0.0681 2140008 7. PHPUnit_Util_Fileloader::load() [APP_BASE]/vendor/phpunit/phpunit/src/Util/Fileloader.php:77 0.0774 2144176 8. include_once('[APP_BASE]/tests/test-loader.php') [APP_BASE]/vendor/phpunit/phpunit/src/Util/Fileloader.php:93 0.0775 2146736 9. include('[APP_BASE]/vendor/autoload.php') [APP_BASE]/tests/test-loader.php:2
小智 3
当我复制现有项目目录并尝试在新目录上运行 phpunit 时,我遇到了这个问题。最后发现当我执行 phpunit 时,它是从旧目录中运行出来的。我跑了这个:
哪个 phpunit
并看到它是从我的作曲家供应商目录运行的:
/home/vagrant/Code/MYOLDPROJECT/api/vendor/bin/phpunit
我从新目录运行 phpunit ,问题消失了:
/home/vagrant/Code/mynewproject/api/vendor/bin/phpunit