我正在使用PhpStorm开发一个项目,在Docker中使用PHP7.1。我想在PhpStorm中集成PHP代码嗅探器。
在Settings|Languages&Frameworks|PHP|CodeSniffer中,我尝试添加一个新的配置,我以phpcs (phpcs)路径的形式提供具有以下内容的脚本路径:
#!/usr/bin/env bash
docker run --rm -ti --volume "$(pwd):/app:rw" -u $(id -u):$(id -g) prooph/php:7.1-cli php vendor/bin/phpcs "$@"它只在我的码头集装箱中运行phpcs。
当我单击Validate时,PhpStorm给出了以下消息:
The input device is not a TTY在从PhpStorm控制台运行时,相同的脚本工作得很好。
我做错了什么吗?还是我想做的就是不支持?
发布于 2016-12-30 18:21:17
您应该在没有-t标志的情况下运行它:
#!/usr/bin/env bash
docker run --rm -i --volume "$(pwd):/app:rw" -u $(id -u):$(id -g) prooph/php:7.1-cli php vendor/bin/phpcs "$@"-t分配一个伪TTY,这就是它在PhpStorm控制台上工作的原因。
发布于 2020-03-03 07:38:44
在PhpStorm 2019中,它不需要bash脚本包装器,就可以开箱即用。
首先,您需要转到Project > Languages &Framework> PHP。点击按钮..。在"CLI解释器“字段旁边,并将其配置为”与Docker一起工作“,选择您的图像名称。
配置好CLI解释器后,转到Project > Languages &Framework> PHP > Quality,然后单击这三个点(.)按钮在PHP_CodeSniffer旁边。添加使用您刚才添加的CLI解释器的新配置,并填充CodeSniffer路径(在我的示例中,这是“/opt/project/供应商/bin/phpcs”)。
哇哦!
https://stackoverflow.com/questions/41400145
复制相似问题