Ошибка phpunit require_once ()

Недавно я установил phpunit на свой сервер через установщик груши.

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

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 на сервере. Но это ничего не сделало.

Любая идея, что может быть причиной этого?

ОБНОВЛЕНИЕ: по состоянию на 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 

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

 sudo pear channel-discover pear.symfony-project.com sudo pear channel-discover components.ez.no sudo pear install --alldeps phpunit/PHPUnit 

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

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

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

speshu @ speshu-laptop: ~ $ sudo груша обновление груши

  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" 

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

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 

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

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

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

Я нашел это!

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

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

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

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

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

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

  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 

У меня была такая же проблема. Netbeans сообщала, что версия phpunit была слишком старой (чего не было). При запуске скрипта phpunit были показаны указанные выше сообщения.

Я решил это, добавив:

 include_path=".:/usr/share/php" 

В /etc/php5/cli/php.ini

Пожалуйста, обратите внимание, что файл php.ini является тем, который используется для php CLI (команда), а не для php.ini, используемого для apache!

Моя первоначальная проблема заключалась в том, что я не смог получить версию командной строки php (yum install php или yum install php-cli) для обновления до => php5.2.7. Я застрял в версии 5.1

Я уже скомпилировал php 5.3.3 для использования с apache. Поэтому я настраиваю символическую ссылку из / usr / bin / php (по умолчанию для командной строки) на мою скомпилированную версию в / var / php5 / bin / php, чтобы получить отчет о командной строке php 5.3.3

Затем я переделал шаги установки груши для phpunit

Но мне все еще нужен материал для покрытия кода, когда я запускал phpunit.

Таким образом, я охотился на покрытие кода в / var / php5 / lib / php / PHP / CodeCoverage и добавил это к пути include в php.ini include_path = ".: / Var / php5 / lib / php /"

Обязательно добавьте его в путь include без / PHP, потому что phpunit начинается с PHP / (закрывает уведомления), ища Кодовое покрытие Не удалось открыть окно «PHP / CodeCoverage / Filter.php»,

У меня была эта проблема. Я разрабатывал сайт рамки zend. Наконец, мне удается решить эту проблему, удалив установку zend и удалив / комментируя путь включения в файлы ванны php.ini в apache и cli. Для разработки сайта с zend нам не нужно устанавливать zend. При заказе мы можем скопировать библиотеку в папку нашего сайта

Для меня деление теста на несколько партий помогло.

Вы можете решить эту проблему, переопределив переменные среды в PEAR. Вот как я решил проблему, и я использовал Ubuntu 12.10

http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html

Вкратце он определяет пути, а затем переустанавливает phpunit

Ubuntu 12.04:

 sudo pear channel-discover pear.symfony.com sudo pear install --alldeps phpunit/PHPUnit 

У меня была такая же проблема с Windows 8. Как и в верхнем ответе, мне нужно было запустить командную строку, однако обязательно запустите cmd.exe как администратор . Затем две команды

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