J'ai récemment installé phpunit sur mon serveur via le programme d'installation de pear.
Lorsque je lance un test, l'erreur suivante apparaît:
Avertissement PHP: require_once (PHPUnit/Util/Filter.php): échec de l'ouverture du flux: aucun fichier ou répertoire de ce type dans/usr/bin/phpunit à la ligne 44
Erreur irrécupérable PHP: require_once (): Impossible d'ouvrir "PHPUnit/Util/Filter.php" (include_path = ".:/Usr/bin/php") dans/usr/bin/phpunit à la ligne 44
Après quelques recherches, j'ai essayé d'apporter quelques modifications à include_path dans mon fichier php.ini sur le serveur. Mais cela n'a rien fait.
Une idée de ce qui pourrait causer cela?
MISE À JOUR: À partir de novembre 2013 et Ubuntu 12.04, ces 2 commandes devraient suffire:
Sudo pear config-set auto_discover 1
Sudo pear install pear.phpunit.de/PHPUnit
Ce qui suit est une réponse plus ancienne… C'est un problème connu, bien que presque un an et demi se soit écoulé. Lire à ce sujet ici
La couverture de code doit être installée pour que phpunit fonctionne correctement
Ce que vous devez faire est couvert ici:
Installation de la couverture de code via PEAR
En gros, vous devez taper (avec Sudo si vous n'avez pas les permissions, sachant que phpunit est déjà installé):
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/PHP_CodeCoverage
J'ai eu ce problème sous OS X. Je l'ai corrigé avec les commandes suivantes qui obligent toutes les dépendances php à être réinstallées, ce qui incluait quelques paquetages d'autres canaux non configurés:
Sudo pear channel-discover pear.symfony-project.com
Sudo pear channel-discover components.ez.no
Sudo pear install --alldeps phpunit/PHPUnit
https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544
et spécialement ce commentaire pour Ubuntu 11.04 et peut être pour d'autres aussi
même si j’ai suivi les étapes recommandées ci-dessus, je n’ai pas réussi à le faire fonctionner, mais après avoir mis à niveau pear de 1.9.1 à 1.9.2, il fonctionne parfaitement.
speshu @ speshu-laptop: ~ $ poire mise à niveau Sudo poire
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"
Si vous utilisez PEAR pour la première fois, vous n'avez peut-être pas configuré le chemin d'inclusion correctement. Jetez un coup d’œil à la section appropriée dans le manuel 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
C'est également ce qui se produit si vous avez une installation PHPUnit obsolète ou incomplète. Sachez qu’après avoir configuré PEAR, vous devez ajouter le canal PHPUnit.de afin d’obtenir un paquet à jour.
(include_path = '.:/usr/bin/php')
Êtes-vous sûr vous l'avez ajouté à include_path?
Cela pourrait également aider si nous voyions votre fichier ini et l'extrait de code include_path qu'il contient ...
Je l'ai trouvé!
On dirait que PEAR a installé PHPUnit dans/usr/share/pear. Je ne sais pas pourquoi mais c'est là que ça se trouve. Doit être une chose (mt).
En tout cas, je suis prêt. Merci pour l'aide.
Dans mon cas, je l'ai résolu en ajoutant /usr/share/php/PEAR
au include_path
.
J'utilise Ubuntu 10.04.2.
Si vous rencontrez des problèmes pour accéder aux composants, essayez d’une autre manière.
Installer poire
Sudo apt-get install php-pear
Installez phpunit
en utilisant pear.
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
Installez phpunit
/Selenium, mais vous devez d'abord installer le module curl
Sudo apt-get install php5-curl
pear install phpunit/PHPUnit_Selenium
J'avais le même problème. Netbeans signalait que la version de phpunit était trop ancienne (ce qui n'était pas le cas). L'exécution du script phpunit a directement montré les messages ci-dessus.
Je l'ai résolu en ajoutant:
include_path=".:/usr/share/php"
To /etc/php5/cli/php.ini
Veuillez noter que le fichier php.ini est celui de php CLI (commande) et non le php.ini utilisé pour Apache!
J'ai eu le même problème avec Windows 8 Semblable à la première réponse, je devais démarrer la ligne de commande, mais assurez-vous de exécuter cmd.exe en tant qu'administrateur . Puis les deux commandes
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
Mon problème initial était que je ne pouvais pas obtenir la version en ligne de commande de php (yum installer php ou yum installer php-cli) à mettre à niveau vers => php5.2.7 J'étais bloqué sur la version 5.1
J'avais déjà compilé PHP 5.3.3 pour une utilisation avec Apache. J'ai donc configuré un lien symbolique de/usr/bin/php (valeur par défaut de la ligne de commande) vers ma version compilée dans/var/php5/bin/php pour obtenir la ligne de commande php reporting 5.3.3
Ensuite, j'ai suivi les étapes d'installation de pear pour phpunit
Mais il avait toujours besoin de la couverture de code quand j'ai lancé phpunit.
J'ai donc recherché la couverture de code sous/var/php5/lib/php/PHP/CodeCoverage et l'a ajouté au chemin d'inclusion dans php.ini Include_path = ".:/Var/php5/lib/php /"
Assurez-vous de l'ajouter au chemin d'inclusion sans/PHP car phpunit commence à PHP/(notice caps) en recherchant la couverture de code Échec d'ouverture requise 'PHP/CodeCoverage/Filter.php'
J'ai eu ce problème. Je développais un site de structure zend. Enfin, je parviens à le résoudre en supprimant l’installation de zend et en supprimant/commentant le chemin d’inclusion dans les fichiers php.ini de bath dans Apache et cli. Pour développer un site avec zend, il n'est pas nécessaire que zend soit installé. Insted nous pouvons copier la bibliothèque dans notre dossier de site
Pour moi, diviser les tests en plusieurs lots m'a aidé.
Vous pouvez résoudre ce problème en redéfinissant les variables d’environnement dans PEAR . C’est ainsi que j’ai résolu le problème et que j’utilisais Ubuntu 12.10.
http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html
En bref, il définit les chemins, puis réinstalle phpunit
Ubuntu 12.04:
Sudo pear channel-discover pear.symfony.com
Sudo pear install --alldeps phpunit/PHPUnit