使用Docker通过终端运行PHPUnit

时间:2017-06-29 11:32:58

标签: php docker phpstorm

我想要什么

我有项目,没有docker / docker-compose。 我想运行PHP脚本 - 终端的PHPUnit。 Best将与PhpStorm合作。

我拥有什么

档案 docker-phpez

#!/usr/bin/env bash
# echo "Current working directory: '"$(pwd)"'"
docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 php $@

结果

检查版本

运行此docker-phpez -v,给我:

PHP 7.1.6 (cli) (built: Jun 12 2017 21:35:13) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.6, Copyright (c) 1999-2017, by Zend Technologies
    with blackfire v1.17.1~linux-x64-non_zts71, https://blackfire.io, by SensioLabs

然后这是正确的。

检查挂载

当我运行列表(修改文件)时,我会看到所有需要的文件。

运行PHPUnit

当我尝试运行时,它会在主文件夹中看到配置文件,但不会在路径中看到bootstrap文件:

PHP Warning:  include(/var/www/src/Tests/../../vendor/ezsystems/ezpublish-kernel/config.php): failed to open stream: No such file or directory in /var/www/src/Tests/bootstrap.php on line 3

问题:

  • 当我在ls /var/www/src/Tests内看到这个文件时,容器内的PHP没有看到此文件?

更新v1:

正在运行pwd

docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 pwd

得到:

/var/www

运行ls

docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 ls

列出当前文件夹中的所有文件/文件夹。

作曲

docker run --rm -v $(pwd):/var/www -e SYMFONY_ENV=dev ezsystems/php:7.1-v1 composer install

正确运行并安装所有数据。

所有命令都在项目的MAIN文件夹

中运行

1 个答案:

答案 0 :(得分:1)

此:

/var/www/src/Tests/../../vendor/ezsystems/ezpublish-kernel/config.php

被翻译为:

/var/www/vendor/ezsystems/ezpublish-kernel/config.php

由于../..

你不是在那儿看。