Ошибка phpunit require_once () - PullRequest
       26

Ошибка phpunit require_once ()

78 голосов
/ 07 октября 2009

Я недавно установил phpunit на свой сервер через установщик pear.

Когда я запускаю тест, я получаю следующую ошибку:

Предупреждение PHP: require_once (PHPUnit / Util / Filter.php): не удалось открыть поток: нет такого файла или каталога в / usr / bin / phpunit в строке 44

Неустранимая ошибка PHP: require_once (): Не удалось открыть обязательное 'PHPUnit / Util / Filter.php' (include_path = '.: / Usr / bin / php') в / usr / bin / phpunit в строке 44

После некоторого поиска я попытался внести некоторые изменения в include_path в моем файле php.ini на сервере. Но это ничего не сделало.

Есть идеи, что может быть причиной этого?

Ответы [ 17 ]

123 голосов
/ 09 мая 2011

ОБНОВЛЕНИЕ: по состоянию на ноябрь 2013 года и Ubuntu 12.04 этих двух команд должно быть достаточно:

sudo pear config-set auto_discover 1
sudo pear install pear.phpunit.de/PHPUnit

Ниже приведен более старый ответ. Это известная проблема, хотя прошло почти полтора года. Читайте об этом здесь

Для корректной работы phpunit необходимо установить покрытие кода

То, что вам нужно сделать, описано здесь:

установка покрытия кода через PEAR

В основном вам нужно набрать (с sudo, если у вас нет прав, учитывая, что phpunit уже установлен):

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/PHP_CodeCoverage
34 голосов
/ 25 апреля 2011

У меня была эта проблема на OS X. Исправлена ​​с помощью следующих команд, которые заставляют переустанавливать все зависимости php, которые включали пару пакетов из других каналов, которые еще не были настроены:

sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install --alldeps phpunit/PHPUnit
13 голосов
/ 23 мая 2011

https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544

и специально этот комментарий для Ubuntu 11.04 и может быть для некоторых других тоже

, несмотря на то, что я выполнил эти шаги, как рекомендовано выше, я не получил его на работу, но после того, как я обновил грушу с 1.9.1 до 1.9.2, он работает отлично, просто сделайте это

speshu @ speshu-laptop: ~ $ sudo pear Pear Up

   downloading PEAR-1.9.2.tgz ...
   Starting to download PEAR-1.9.2.tgz (295,120 bytes)
    .....................................................done: 295,120 bytes
    upgrade ok: channel://pear.php.net/PEAR-1.9.2
    PEAR: Optional feature webinstaller available (PEAR's web-based installer)
    PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
    PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
    PEAR: To install optional features use "pear install pear/PEAR#featurename"
8 голосов
/ 07 октября 2009

Если вы используете PEAR впервые, возможно, вы не настроили правильный путь включения. Взгляните на соответствующий раздел в руководстве PEAR .

4 голосов
/ 18 мая 2011

https://github.com/sebastianbergmann/php-code-coverage

sb@ubuntu ~ % pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded

sb@ubuntu ~ % pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded

sb@vmware ~ % pear install phpunit/PHP_CodeCoverage
downloading PHP_CodeCoverage-0.9.0.tgz ...
Starting to download PHP_CodeCoverage-0.9.0.tgz (108,376 bytes)
.........................done: 108,376 bytes
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-0.9.0
2 голосов
/ 23 февраля 2011

В моем случае я решил это, добавив /usr/share/php/PEAR к include_path.

Я использую Ubuntu 10.04.2.

2 голосов
/ 06 февраля 2010

Это также происходит, если у вас установлена ​​устаревшая или неполная установка PHPUnit. Помните, что после настройки PEAR необходимо добавить канал PHPUnit.de , чтобы получить актуальный пакет.

2 голосов
/ 07 октября 2009

Я нашел это!

Похоже, PEAR установил PHPUnit в / usr / share / pear. Не уверен, почему, но вот где это. Должно быть (MT) вещь.

Во всяком случае, я все готово. Спасибо за помощь.

2 голосов
/ 07 октября 2009

(include_path = ': / USR / бен / PHP')

Вы уверены, вы добавили его в include_path?

Также может помочь, если мы увидим ваш INI-файл и фрагмент include_path в нем ...

1 голос
/ 30 апреля 2012

Если у вас проблемы с доступом к компонентам, попробуйте другой способ.

  1. Установка груши

    sudo apt-get install php-pear
    
  2. Установите phpunit с помощью груши.

    pear config-set auto_discover 1
    pear install pear.phpunit.de/PHPUnit
    
  3. Установка phpunit / Selenium, но сначала нужно установить curl модуль

    sudo apt-get install php5-curl 
    pear install phpunit/PHPUnit_Selenium
    
...