2013-08-19 77 views
23

Cannot find PHPUnit in include path是我在嘗試在phpstorm中運行我的代碼時得到的錯誤消息。在包含路徑phpstorm中找不到PHPUnit

在PHP設置中,我的PHP級別語言是5.4 (traits, short array syntax, etc.),解釋器是Name(5.4.7),其中Name是用戶定義的。

C:\ xampp2 \ PHP \的php.exe C:

當我嘗試運行代碼和確切的消息是,這似乎錯誤\用戶\ DELL \應用程序數據\本地的\ Temp \ IDE-phpunit.php --no配置

C:\ xampp2 \ htdocs中\ FT-網站

測試開始於下午2點34分...

過程與退出代碼完成1

無法找到PHPUnit的在包含路徑(; C:\ xampp2 \ PHP \ PEAR)`

+0

您應該完全按照以下錯誤消息進行操作:將PHPUnit文件所在的路徑添加到您的php.ini文件中的include_path配置變量 – LazyOne

+0

PHPUnit實際安裝在'C:\ xampp2 \ php \ PEAR'中?最好的方法是使用PEAR將它安裝到那裏,或者將PHP包含路徑調整到另一個位置的PHPUnit安裝。 – helmbert

+0

我有一個'php \ pear'文件夾。我將繼續使用PEAR進行安裝,並查看是否可以修復它。 – Newtt

回答

47

正好遇到這個問題我自己。

我不確定爲什麼它無法在包含路徑中找到PHPUnit(儘管它在那裏,儘管全部是小寫)。

我通過改變我的PHPUnit的IntelliJ首選項(在PHP --> PHPUnit下)來解決這個問題。我將PHPUnit library設置更改爲Use custom loader,然後指定到phpunit可執行文件的路徑。在我的Mac上,那是/usr/local/Cellar/php54/5.4.26/bin/phpunit

UPDATE:

我剛剛發現,現在pear PHPUnit的安裝作爲命名phpunitphar。它之前安裝了PHPUnit源代碼,這對於PHPStorm中的參考和代碼完成非常有用。我認爲這就是PHPStorm不再適用的原因,因爲它期望的是一個php可執行文件,而不是一個php文件。

因此,我不再使用pear來安裝PHPUnit,而是使用composer來代替。這將PHPUnit直接捆綁爲我的項目的依賴項,這使得它比系統依賴項更具可移植性。您需要在您的PHPStorm偏好設置中添加vendor/phpunit/phpunit作爲PHP包含路徑。這將服務於兩個目的:

  1. PHPStorm可以找到phpunit可執行現在
  2. PHPStorm將索引所有的PHPUnit類現在,所以你會得到自動完成。好極了!

爲此,請轉到PhpStorm設置中的語言和框架。 如果你點擊PHP,在右邊你有你的包含路徑

+5

對不起,如何將'vendor/phpunit/phpunit'添加爲PHP包含路徑?我不清楚。 – Erik

+0

對於drupal8路徑將是'/ PATH/TO/DRUPAL/core/tests/bootstrap.php' – milkovsky

+0

感謝您的! – taiar

3

除了本的回答,在phpStorm 7.1.3它的工作方式是指定phpunit.phar位置下的「使用自定義加載器」選項,例如:

「腳本路徑:/ usr/share/php/phpunit。藥業」

+0

請在您的答案中添加更多描述。這將有助於提問者更多地瞭解你的答案。 –

16

我通過作曲家加入後的PHPUnit有這個問題。

我在Settings -> Languages and Frameworks -> PHP -> PHPUnit選擇use custom autoloader,然後加入/vendor/autoload.php作爲自定義自動加載的位置固定這一點。

+0

不幸的是似乎不是一個相對路徑。不知道爲什麼每次我參與一個項目時都需要糾正這個問題。 – MikeMurko

3

這爲做到這一點,而不使用的作曲家,並使用全球PHPUnit的方式。

  1. PHPUnit的現在使用了藥業的文件。我的道路是/usr/local/Cellar/phpunit/5.0.0/libexec /phpunit-5.0.0.phar

enter image description here

  • PhpStorm偏好- >路徑phpunit.phar - >選擇的PHPUnit PHAR
  • enter image description here

  • 就是這些,好東西。
  • +0

    要獲得自動完成,可將包含phar的目錄添加爲包含路徑。在上面的圖像中是'/ usr/local/Cellar/phpunit/5.0.0/libexec /'。 –

    2

    我對使用Vagrant的PHPStorm 2017有同樣的問題。首先去Settings -> Languages and Frameworks -> PHP並添加一個遠程解釋器,然後去Settings -> Languages and Frameworks -> PHP -> PHPUnit點擊頂部的+,然後點擊by Remote Interpreter。如果您使用的是Composer自動加載器,請將您的完整Vagrant路徑輸入到自動加載器文件。

    +0

    我確實需要這個,但不能使它工作。如果我運行測試,我仍然會得到「無法在包含路徑中找到PHPUnit」。我做了你寫的東西 - 你能不能提供一些更詳細的信息? –

    +1

    好的發現我的答案在這裏:https://stackoverflow.com/questions/12814263/phpunit-via-composer-and-phpstorm - 基本上我不得不做「選擇使用自定義加載程序,然後輸入autoload.php」 - 所以實際上我只是沒有完全理解你的答案;-) –

    +0

    很高興我的回答幫助:) – styl3r