Niedawno zainstalowałem phpunit na moim serwerze za pomocą instalatora gruszki.
Kiedy idę przeprowadzić test, pojawia się następujący błąd:
Ostrzeżenie PHP: require_once (PHPUnit / Util / Filter.php): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w / usr / bin / phpunit w linii 44
Błąd krytyczny PHP: require_once (): nieudane otwarcie wymagane 'PHPUnit / Util / Filter.php' (include_path = '.: / Usr / bin / php') w / usr / bin / phpunit w linii 44
Po przeprowadzeniu wyszukiwania, spróbowałem wprowadzić pewne modyfikacje do include_path w moim pliku php.ini na serwerze. Ale to nic nie dało.
Masz jakiś pomysł, co może być przyczyną tego?
ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_php" ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_data"
błąd na ostatnim kroku./etc/php5/apache2/php.ini
,/etc/php5/cli/php.ini
i musiał zrobić to m.in. rodziców i podkatalogi:include_path = ".:/usr/share/php:/usr/share/php/PEAR"
sudo pear channel-discover pear.symfony.com
a potem udało mi się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.
... co unieważni tę odpowiedź.Miałem ten problem na OS X. Naprawiłem go za pomocą następujących poleceń, które wymuszają ponowną instalację wszystkich zależności php, w tym kilka pakietów z innych kanałów, które nie były jeszcze skonfigurowane:
źródło
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
mieć możliwość zainstalowania phpunit / phpunit, a następnie pojawia sięrequire_once(PHPUnit/Util/Filter.php)
błąd ... pliku nie ma nigdzie w moim systemie plików.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.
... co unieważni tę odpowiedź.https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544
a szczególnie ten komentarz dotyczący ubuntu 11.04 i może być także dla niektórych innych
mimo że wykonałem te kroki zgodnie z zaleceniami powyżej, nie udało mi się go uruchomić, ale po uaktualnieniu gruszki z 1.9.1 do 1.9.2 działa idealnie, po prostu zrób to
speshu @ speshu-laptop: ~ $ sudo pear upgrade pear
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"
źródło
Jeśli używasz PEAR po raz pierwszy, być może nie skonfigurowałeś poprawnie ścieżki dołączania. Spójrz na odpowiednią sekcję w podręczniku PEAR .
źródło
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
źródło
Czy na pewno dodałeś go do include_path?
Może też pomóc, gdybyśmy widzieli Twój plik ini i fragment kodu include_path w nim ...
źródło
Znalazłem to!
Wygląda na to, że PEAR zainstalował PHPUnit w / usr / share / pear. Nie wiem dlaczego, ale tak właśnie jest. To musi być (mt) rzecz.
W każdym razie wszystko gotowe. Dzięki za pomoc.
źródło
Dzieje się tak również w przypadku nieaktualnej lub niekompletnej instalacji PHPUnit. Pamiętaj, że po skonfigurowaniu PEAR, musisz dodać kanał PHPUnit.de , aby uzyskać aktualny pakiet.
źródło
W moim przypadku rozwiązałem to, dodając
/usr/share/php/PEAR
doinclude_path
.Używam Ubuntu 10.04.2.
źródło
Jeśli masz problemy z dostępem do komponentów, wypróbuj inny sposób.
Zainstaluj gruszkę
Zainstaluj
phpunit
za pomocą gruszki.pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
Zainstaluj
phpunit
/ Selenium, ale najpierw musisz zainstalowaćcurl
modułźródło
Miałem ten sam problem. Netbeans zgłosił, że wersja phpunita była zbyt stara (a nie była). Uruchomienie skryptu phpunit bezpośrednio pokazało powyższe komunikaty.
Rozwiązałem to dodając:
include_path=".:/usr/share/php"
Do /etc/php5/cli/php.ini
Proszę PAMIĘTAĆ, że plik php.ini jest plikiem dla php CLI (polecenie), a nie php.ini używanym przez apache!
źródło
Mój pierwotny problem polegał na tym, że nie mogłem uzyskać wersji php z wiersza poleceń (yum install php lub yum install php-cli), aby zaktualizować do => php5.2.7 Utknąłem w wersji 5.1
Skompilowałem już php 5.3.3 do użytku z Apache. Ustawiłem więc dowiązanie symboliczne z / usr / bin / php (domyślne w wierszu poleceń) do mojej skompilowanej wersji w / var / php5 / bin / php, aby uzyskać raportowanie php w wierszu poleceń 5.3.3
Następnie ponownie wykonałem kroki instalacji gruszki dla phpunita
Ale nadal potrzebował całego kodu, gdy uruchomiłem phpunit.
Poszukałem więc pokrycia kodu w / var / php5 / lib / php / PHP / CodeCoverage i dodałem to do ścieżki dołączania w php.ini include_path = ".: / Var / php5 / lib / php /"
Upewnij się, że dodałeś go do ścieżki dołączania bez / PHP, ponieważ phpunit zaczyna się w PHP / (czapki informacyjne) szukając pokrycia kodu Nie można otworzyć wymaganego „PHP / CodeCoverage / Filter.php”
źródło
Miałem ten problem. Pracowałem nad witryną zend Framework. Wreszcie udaje mi się go rozwiązać, usuwając instalację zend i usuwając / komentując ścieżkę dołączania w plikach php.ini kąpieli w apache i cli. Aby stworzyć witrynę z zendem, nie musimy mieć zainstalowanego zend. W instancji możemy skopiować bibliotekę do naszego folderu serwisu
źródło
Pomogło mi podzielenie testu na kilka partii.
źródło
Możesz rozwiązać ten problem, ponownie definiując zmienne środowiskowe w PEAR. W ten sposób rozwiązałem problem i użyłem Ubuntu 12.10
http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html
Krótko mówiąc, definiuje ścieżki, a następnie ponownie instaluje phpunit
źródło
Ubuntu 12.04:
źródło
Miałem ten sam problem z Windows 8 Podobnie jak w przypadku pierwszej odpowiedzi, musiałem uruchomić wiersz poleceń, jednak upewnij się, że uruchamiam cmd.exe jako administrator . Potem dwie komendy
pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
źródło