Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法打开必需的/symfony/phpunit桥/bootstrap.php_Symfony_Docker_Phpunit - Fatal编程技术网

无法打开必需的/symfony/phpunit桥/bootstrap.php

无法打开必需的/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/.

我目前正在使用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/.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知识非常有限。如果您找到解决方案或解决方法,请随时通知我。。。