Проблемы с PHPUnit (Linux) - PHP Fatal Error
Я успешно установил PHPUnit на своем настольном ПК и решил использовать его на своем ноутбуке, но... затем я пытаюсь создать тест PHPUnit. Netbeans выдает ошибку "Selected PHPUnit (version?.?.?) - это старый, обновите его, если это возможно (минимальная версия - 3,3.0).".
Конечно, моя версия PHPUnit новее - 3.5.5-2. Где проблема?
Я использую
- Ubuntu 11.04
- Netbeans 6.9
- PEAR Версия: 1.9.1
- Версия PHP: 5.3.5-1ubuntu7.2
- Версия Zend Engine: 2.3.0
Как я понимаю, проблема связана с PHPUnit. Когда я пытаюсь вызвать команду "phpunit" в терминале, я получаю PHP Fatal error:
[email protected]:~# phpunit –version
PHP Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38
PHP Stack trace:
PHP 1. {main}() /usr/bin/phpunit:0
PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 38
PHP Stack trace:
PHP 1. {main}() /usr/bin/phpunit:0
[email protected]:~# find / -name CodeCov*
[email protected]:~#
Как вы можете видеть, на моем ПК нет такого файла или папки. Что делать?
Я пытался переустановить его много раз (с apt-get, pear, Synaptic PM...), но всегда получаю тот же результат.
Ответы
Ответ 1
Проблема решена.
Следуйте за комментарием @David Harkness Я попытался установить PHP_CodeCoverage, а затем понял, что мой установщик PEAR слишком стар. Я обновил его до 1.9.2, а затем переустановил PHPUnit.
$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
$ pear install phpunit/PHPUnit
Что странно, потому что все программное обеспечение было недавно установлено неделю назад.
Ответ. Как я окончательно установил PHPUnit.
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony-project.com
sudo pear install phpunit/PHP_CodeCoverage
sudo pear install phpunit/PHPUnit
Если у вас все еще есть проблемы, попробуйте обновить PEAR:
sudo wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
Ответ 2
и он автоматически выполняет необходимую магию.:)
Update:
http://pear.phpunit.de/ ушел (возврат 410)
Ответ 3
Другие решения здесь не сработали для меня. Я наконец нашел решение, которое сработало для меня здесь:
http://markojakic.net/configure-phpunit-and-pear-in-ubuntu-12-04
По умолчанию груша по умолчанию для меня была установка двоичных файлов в мой домашний каталог. Чтобы исправить это, я выполнил следующие команды
sudo pear config-set bin_dir /usr/bin
sudo pear config-set doc_dir /usr/share/php/doc
sudo pear config-set php_dir /usr/share/php
sudo pear config-set cfg_dir /usr/share/php/cfg (make (sudo mkdir cfg) directory here)
sudo pear config-set data_dir /usr/share/php/data
sudo pear config-set test_dir /usr/share/php/test
sudo pear uninstall phpunit/PHPUnit
sudo pear install phpunit/PHPUnit
Ответ 4
PHAR FTW!
$ wget http://pear.phpunit.de/get/phpunit.phar
$ chmod +x phpunit.phar
Ссылка: https://github.com/sebastianbergmann/phpunit/blob/master/README.md
Ответ 5
Чтобы получить последнюю версию груши и phpunit.
pear upgrade
pear upgrade pear
pear upgrade phpunit/PHPUnit