phpunit - неправильный путь - PullRequest
       11

phpunit - неправильный путь

7 голосов
/ 17 февраля 2011

Кто-нибудь знает, что я делаю не так? Я установил phpunit, и все нормально, когда я нахожусь в каталоге / opt / local / PEAR, поэтому, если я иду в каталог / opt / local / PEAR и запускаю phpunit, я получаю:

PHPUnit 3.5.11 от Себастьяна Бергманна.
Использование: phpunit [переключатели] UnitTest [UnitTest.php]
phpunit [переключатели]
блаблабла

но если я нахожусь на каком-то другом пути, я получаю:

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

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

Я знаю, что что-то не так с моим PATH. Как я могу это исправить?

Ответы [ 5 ]

8 голосов
/ 17 февраля 2011

Попробуйте добавить /opt/local/PEAR к вашему php.ini файлу include_path.

//Before:
include_path='.:/usr/lib/php'
//After:
include_path='.:/usr/lib/php:/opt/local/PEAR'

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

И какКомментарии RobertPitt, это также можно сделать во время выполнения без доступа к файлу php.ini.

<?php
$path = '/opt/local/PEAR';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>
7 голосов
/ 22 апреля 2011

Канал PEAR (pear.phpunit.de), который используется для распространения PHPUnit, должен быть зарегистрирован в локальной среде PEAR. Кроме того, компонент, от которого зависит PHPUnit, размещается на дополнительных каналах PEAR.

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com

Это должно быть сделано только один раз. Теперь установщик PEAR можно использовать для установки пакетов из канала PHPUnit:

pear install phpunit/PHPUnit
5 голосов
/ 30 октября 2011

В Ubuntu я использовал

pear config-set auto_discover 1
pear install pear.phpunit.de/PHP_CodeCoverage
1 голос
/ 23 февраля 2011

Для Ubuntu отредактируйте этот php.ini для CLI:

 /usr/local/lib/php.ini

добавьте / usr / local / lib / php / к вашей включаемой строке

include_path= "/opt/zend/library/:/var/www/library/:/usr/local/bin/pear/:/usr/local/lib/php/"

Мне понадобился день, чтобы понять это. Бинго.

Если это не сработает, попробуйте это, оно подскажет вам, где находятся ваши PHP-библиотеки.

$ locate PHP_CodeCoverage
0 голосов
/ 20 января 2015

Насколько я знаю, метод установки PEAR подходит к концу, об этом говорится в репозитории github.

https://github.com/sebastianbergmann/phpunit/wiki/End-of-Life-for-PEAR-Installation-Method

...