Cannot find PHPUnit in include path
是我尝试在phpstorm中运行代码时收到的错误消息。
在PHP设置中,我的PHP级语言为5.4 (traits, short array syntax, etc.)
,解释器为Name(5.4.7)
,其中Name
是用户定义的。
当我尝试运行代码时出现错误,确切的消息是:
C:\ xampp2 \ php \ php.exe C:\ Users \ DELL \ AppData \ Local \ Temp \ ide-phpunit.php --no-configuration
C:\ xampp2 \ htdocs中\英尺 - 网站
测试于下午2:34开始......
使用退出代码1完成处理
在include路径中找不到PHPUnit(。; C:\ xampp2 \ php \ PEAR)`
答案 0 :(得分:53)
我自己刚遇到这个问题。
我不确定为什么它无法在包含路径中找到PHPUnit(尽管它 在那里,尽管全部小写)。
我通过更改PHPUnit的IntelliJ首选项(在PHP --> PHPUnit
下)解决了这个问题。我将PHPUnit library
设置更改为Use custom loader
,然后指定了phpunit
可执行文件的路径。在我的Mac上,那是/usr/local/Cellar/php54/5.4.26/bin/phpunit
。
更新:
我刚刚发现pear
现在将PHPUnit安装为名为phar
的{{1}}。它之前安装了PHPUnit源代码,非常适合PHPStorm中的参考和代码完成。我认为这就是PHPStorm不再使用的原因,因为它预计会有php可执行文件,而不是php存档。
所以,我不再使用phpunit
来安装PHPUnit,而是使用composer代替。这将PHPUnit直接捆绑为我项目的依赖项,这使得它比系统依赖项更具可移植性。您需要在PHPStorm首选项中添加pear
作为PHP包含路径。这有两个目的:
vendor/phpunit/phpunit
可执行文件phpunit
课程编制索引,以便您自动完成。耶!要执行此操作,请转到PhpStorm设置中的语言和框架。 如果单击PHP,则右侧会显示包含路径
答案 1 :(得分:21)
通过composer添加PHPUnit后出现了这个问题。
我通过在use custom autoloader
中选择Settings -> Languages and Frameworks -> PHP -> PHPUnit
,然后添加/vendor/autoload.php作为自定义自动加载器的位置来解决此问题。
答案 2 :(得分:4)
这是在不使用composer和使用全局phpunit的情况下完成此操作的方法。
答案 3 :(得分:3)
除了Ben的回答,在phpStorm 7.1.3中,它通过在“use custom loader”选项下指定phpunit.phar位置来工作,例如:
“脚本路径:/usr/share/php/phpunit.phar”
答案 4 :(得分:2)
我使用Vagrant对PHPStorm 2017也有同样的问题。首先转到Settings -> Languages and Frameworks -> PHP
并添加远程口译员,然后转到Settings -> Languages and Frameworks -> PHP -> PHPUnit
点击顶部的+,然后点击by Remote Interpreter
。如果您正在使用Composer自动加载器,请输入自动加载器文件的完整Vagrant路径。
答案 5 :(得分:0)
对于将来的读者,通过定义 global phpunit.phar (不是作曲家)的路径来解决在使用PHPStorm + Vagrant + PHPUnit时的相同问题
虽然测试成功运行,但我缺少代码完成功能。我已经确认phpunit
在本地计算机上的PATH中,并且确保将/usr/local/bin
添加到PHP Settings
中的PHP Include路径中。仍然没有代码完成。
原因:PHPstorm正在寻找phpunit.phar
,而不仅仅是phpunit
。要修复,我在本地计算机上建立了指向phpunit.phar
的符号链接phpunit
:
$ cd /usr/local/bin/
$ sudo ln -s phpunit phpunit.phar
然后我重新索引了该项目,并且代码完成开始工作。
答案 6 :(得分:0)
对于那些在 2020 年着眼于它的人,从 PHPStorm 2019 开始,下面是:
Languages and Frameworks->PHP->Test Frameworks