it-swarm.com.ru

ошибка phpunit require_once ()

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

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

78
user185305

ОБНОВЛЕНИЕ: По состоянию на ноябрь 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
123
arunas_t

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

Sudo pear channel-discover pear.symfony-project.com
Sudo pear channel-discover components.ez.no
Sudo pear install --alldeps phpunit/PHPUnit
34
Steven Green

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

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

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

speshu @ speshu-ноутбук: ~ $ груша обновления судо груша

   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"
13
jspeshu

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

8
jeroen

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

[email protected] ~ % pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded

[email protected] ~ % pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded

[email protected] ~ % 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
4
stanleyhlng

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

2
Josh Koenig

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

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

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

2
meder omuraliev

Я нашел это!

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

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

2
user185305

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

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

2
Marcelo

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

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

    Sudo apt-get install php-pear
    
  2. Установите phpunit с помощью pear.

    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
    
1
denz

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

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

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

To /etc/php5/cli/php.ini

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

0
lepe

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

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

Моя первоначальная проблема заключалась в том, что я не смог получить версию 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 и добавил его к пути включения в php.ini Include_path = ".:/Var/php5/lib/php /"

Обязательно добавьте его в путь включения без/PHP, потому что phpunit начинается с PHP/(ограничения уведомлений) в поисках покрытия кода Не удалось открыть требуемый файл 'PHP/CodeCoverage/Filter.php'

0
user1003932

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

0
Ruwantha

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

0
amitchhajer

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

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

Короче говоря, он определяет пути, а затем переустанавливает phpunit

0
Rabimba Karanjai

Ubuntu 12.04:

Sudo pear channel-discover pear.symfony.com
Sudo pear install --alldeps phpunit/PHPUnit
0
RBalazs