无法打开必需的/symfony/phpunit桥/bootstrap.php
我目前正在使用Symfony4.2开发RESTAPI,并使用Docker(无法打开必需的/symfony/phpunit桥/bootstrap.php,symfony,docker,phpunit,Symfony,Docker,Phpunit,我目前正在使用Symfony4.2开发RESTAPI,并使用Docker(PHPFPM)进行部署 当尝试在构建容器中使用phpunit运行测试(设置ci)时,它会失败,并给出以下输出: $docker运行api:最新的bin/phpunit PHP警告:require(/srv/api/bin/.phpunit/phpunit-6.5/vendor/composer/。/symfony/phpunit bridge/bootstrap.PHP):无法打开流:第66行的/srv/api/bin/.
PHPFPM
)进行部署
当尝试在构建容器中使用phpunit运行测试(设置ci)时,它会失败,并给出以下输出:
$docker运行api:最新的bin/phpunit
PHP警告:require(/srv/api/bin/.phpunit/phpunit-6.5/vendor/composer/。/symfony/phpunit bridge/bootstrap.PHP):无法打开流:第66行的/srv/api/bin/.phpunit/phpunit-6.5/vendor/composer/autoload_real.PHP中没有这样的文件或目录
PHP堆栈跟踪:
PHP1。{main}()/srv/api/bin/phpunit:0
PHP2。require()/srv/api/bin/phpunit:19
PHP3。include()/srv/api/vendor/symfony/phpunit桥/bin/simple phpunit:244
PHP4。require()/srv/api/bin/.phpunit/phpunit-6.5/phpunit:4
PHP5。Composer AutoloaderInitfa3eadee0e53d49c951bc803cfc74f21::getLoader()/srv/api/bin/.phpunit/phpunit-6.5/vendor/autoload.php:7
php6。composer RequiredA3EADEE0E53D49C951BC803CFC74F21()/srv/api/bin/.phpunit/phpunit-6.5/vendor/composer/autoload_real.php:56
PHP致命错误:require():无法在第66行的/srv/api/bin/.phpunit/phpunit-6.5/vendor/composer//symfony/phpunit bridge/bootstrap.PHP中打开所需的'/srv/api/bin/.phpunit/phpunit-6.5/vendor/composer/。/symfony/phpunit bridge/bootstrap.PHP'(include_path='.:/usr/local/lib/PHP')
PHP堆栈跟踪:
PHP1。{main}()/srv/api/bin/phpunit:0
PHP2。require()/srv/api/bin/phpunit:19
PHP3。include()/srv/api/vendor/symfony/phpunit桥/bin/simple phpunit:244
PHP4。require()/srv/api/bin/.phpunit/phpunit-6.5/phpunit:4
PHP5。Composer AutoloaderInitfa3eadee0e53d49c951bc803cfc74f21::getLoader()/srv/api/bin/.phpunit/phpunit-6.5/vendor/autoload.php:7
php6。composer RequiredA3EADEE0E53D49C951BC803CFC74F21()/srv/api/bin/.phpunit/phpunit-6.5/vendor/composer/autoload_real.php:56
Composer确实安装了所有必需的软件包,包括dev软件包。这是作曲家的输出:
包操作:94次安装,0次更新,0次删除
[...]
您正在使用不推荐使用的选项“dev”。默认情况下,现在已安装开发包。
使用包信息加载composer存储库
从锁文件安装依赖项(包括需要开发)
预取10个包� �
-下载(100%)
包操作:10次安装,0次更新,0次删除
-安装条令/数据装置(v1.3.1):从缓存加载
-安装条令/条令装置包(3.1.0):从缓存加载
-安装symfony/process(v4.2.3):从缓存加载
-安装symfony/polyfill-php72(v1.10.0):从缓存加载
-安装php-cs-fixer/diff(v1.3.0):从缓存加载
-安装composer/xdebug处理程序(1.3.2):从缓存加载
-安装composer/semver(1.4.2):从缓存加载
-安装friendsofphp/php cs修复程序(v2.14.2):从缓存加载
-安装fzaninotto/faker(v1.8.0):从缓存加载
-安装symfony/phpunit桥(v4.2.3):从缓存加载
生成自动加载文件
ocramius/包版本:正在生成版本类。。。
ocramius/包版本:…生成版本类完成
正在执行脚本缓存:清除[确定]
正在执行脚本资产:安装public[确定]
生成包含50个类的自动加载文件
错误消息中命名的文件确实存在:
$ls-al供应商/composer/。/symfony/phpunit桥
总数88
drwxr-xr-x 6根根根4096 Feb 21 12:59。
drwxr-xr-x 1根根目录4096二月21日12:59。。
-rw-r--r--1根根根34 Feb 21 12:59.git忽略
-rw-r--r--1根根根1296 Feb 21 12:59 CHANGELOG.md
-rw-r--r--1根根根2687 Feb 21 12:59 ClockMock.php
-rw-r--r--1根根根868 Feb 21 12:59 CoverageListener.php
-rw-r--r--1根根根13954 Feb 21 12:59 DeprecationErrorHandler.php
-rw-r--r--1根根根6013 Feb 21 12:59 DnsMock.php
-rw-r--r--1根根目录1065 Feb 21 12:59许可证
DRWXRWX 2根根目录4096二月21日12:59旧版
-rw-r--r--1根根目录500 Feb 21 12:59 README.md
-rw-r--r--1根根根896 Feb 21 12:59 SymfonyTestsListener.php
DRWXRWX 4根根部4096 2月21日12:59测试
DRWXRWX 2根根目录4096二月21日12:59文本用户界面
DRWXRWX 2根根部4096二月21日12:59箱
-rw-r--r--1 root root 1330 Feb 21 12:59 bootstrap.php#也有同样的问题,但是在Windows Wamp环境中(我将项目源代码从linux复制粘贴到Windows)。我通过删除symfony/phpunit桥(composer-remove),然后手动删除项目bin-dir中的.phpunit目录和phpunit文件,然后用composer重新安装symfony/phpunit桥,成功地解决了这个问题。
希望这能有所帮助。让我走上了正确的道路
即使使用composer重新安装了symfony/phpunit桥
,我也无法通过bin/phpunit
运行测试。我不得不直接调用简单的phpunit
脚本
最后,我在Dockerfile中为测试映像添加了一个构建步骤,包括:
ENTRYPOINT ["./vendor/bin/simple-phpunit"]
CMD ["--coverage-text"]
请您在容器中执行ls-la/srv
,并在您运行上述ls-al vendor/composer/./symfony/phpunit bridge
的目录下执行echo$PWD
。@DuyPhan编辑了我的问题。你找到解决办法了吗?不幸的是,还没有。在我看来,符号链接有问题,但我的linux知识非常有限。如果您找到解决方案或解决方法,请随时通知我。。。