我有一个非常具体的配置,直到我可以开始将功能从我的旧 PHP 5 应用程序移动到其他地方。
我正在尝试将我的测试环境与 PhpStorm 联系起来,但我无法弄清楚。由于我没有使用 Composer,我必须指定 phpunit.phar 路径(即 /usr/local/bin/phpunit
- 到 /usr/local/bin/phpunit.phar
的符号链接(symbolic link))。我一直有这个错误。
PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'Cannot create phar '/usr/local/bin/phpunit', file extension (or combination) not recognised or the directory does not exist' in /opt/.phpstorm_helpers/phpunit.php:181
Stack trace:
#0 /opt/.phpstorm_helpers/phpunit.php(181): Phar->__construct('/usr/local/bin/...')
#1 /opt/.phpstorm_helpers/phpunit.php(250): IDE_PHPUnit_Loader::init()
#2 {main} thrown in /opt/.phpstorm_helpers/phpunit.php on line 181
我的 Docker 上的设置是
PHP 5.5.9 和 PHPUnit 4.8.9
我的远程 Docker PHP 解释器在 PhpStorm 中工作,当我在 bash 中运行测试时我的 PHPUnit 工作(使用
docker exec phpunit
) - 所以看起来这些部分正在工作,主要是胶水不起作用。这是我的设置
最佳答案
我刚刚遇到了这个问题 composer
问题是您需要在 PHPStorm 中使用 autoload.php
设置 PHPUnit 解释器。文件。
+
添加远程口译员的图标 Use Composer Autoloader
/path/to/vendor/autoload.php
Default configuration file
并将其设置为 /path/to/phpunit.xml
我还需要在我的
docker-compose.yml
中包含以下部分:services:
my-api:
# Other contents omitted
environment:
- PHP_IDE_CONFIG=serverName=my-api.company.com
在哪里 my-api.company.com
是设置 > 语言和框架 > PHP > 服务器中的服务器定义名称
关于php - 使用 Docker 在 PhpStorm 中使用 PHPUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50611782/