Недавно я установил 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 на сервере. Но это ничего не дало.
Есть идеи, что может быть причиной этого?
ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_php" ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_data"
ошибку на последнем шаге./etc/php5/apache2/php.ini
,/etc/php5/cli/php.ini
и должен был сделать его включать родителей и подкаталоги:include_path = ".:/usr/share/php:/usr/share/php/PEAR"
sudo pear channel-discover pear.symfony.com
а затем преуспел сsudo pear install --alldeps phpunit/PHPUnit
You have installed PHPUnit via PEAR. This installation method is no longer supported and http://pear.phpunit.de/ will be shut down no later than December, 31 2014.
... что сделает этот ответ недействительным.У меня была эта проблема в OS X. Исправлена с помощью следующих команд, которые принудительно переустанавливали все зависимости php, в том числе пару пакетов из других каналов, которые еще не были настроены:
источник
PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Framework.php on line 46
channel-discover pear.phpunit.de
установить phpunit / phpunit, а затем я получаю сообщение обrequire_once(PHPUnit/Util/Filter.php)
ошибке ... файла нет в моей файловой системе.You have installed PHPUnit via PEAR. This installation method is no longer supported and http://pear.phpunit.de/ will be shut down no later than December, 31 2014.
... что сделает этот ответ недействительным.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?
Также может помочь, если мы увидим ваш ini-файл и фрагмент include_path в нем ...
источник
Я нашел это!
Похоже, PEAR установил PHPUnit в / usr / share / pear. Не знаю почему, но вот где это. Должно быть (мт) вещь.
В любом случае, я готов. Спасибо за помощь.
источник
То же самое происходит, если у вас устаревшая или неполная установка PHPUnit. Помните, что после настройки PEAR вы должны добавить канал PHPUnit.de , чтобы получить обновленный пакет.
источник
В моем случае я решил это, добавив
/usr/share/php/PEAR
вinclude_path
.Я использую Ubuntu 10.04.2.
источник
Если у вас есть проблемы с доступом к компонентам, попробуйте другой способ.
Установить грушу
Установите
phpunit
с помощью груши.pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
Установите
phpunit
/ Selenium, но сначала вам нужно установитьcurl
модульисточник
У меня была такая же проблема. 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 и добавил его в путь включения в php.ini include_path = ".: / Var / php5 / lib / php /"
Обязательно добавьте его в путь включения без / PHP, потому что phpunit начинается с PHP / (заглавные буквы) в поисках покрытия кода. Требуется ошибка открытия 'PHP / CodeCoverage / Filter.php'
источник
У меня была такая проблема. Я разрабатывал сайт фреймворка zend. Наконец, мне удалось решить эту проблему, удалив установку zend и удалив / прокомментировав путь включения в файлах php.ini ванной в apache и cli. Для разработки сайта с помощью zend нам не нужно устанавливать zend. Insted мы можем скопировать библиотеку в папку нашего сайта
источник
Мне помогло разделение тестов на несколько партий.
источник
Вы можете решить эту проблему, переопределив переменные среды в PEAR. Вот как я решил проблему и использовал Ubuntu 12.10
http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html
Короче говоря, он определяет пути, а затем переустанавливает phpunit
источник
Ubuntu 12.04:
источник
У меня была такая же проблема с Windows 8. Как и в верхнем ответе, мне нужно было запустить командную строку, но не забудьте запустить cmd.exe от имени администратора . Затем две команды
pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
источник