2010-09-29 15 views
12

J'ai installé xdebug très bien (apparaissant dans phpinfo()) mais j'essaye de le faire fonctionner avec la fonctionnalité de couverture de code de PHPUnit. Il ne cesse de me dire "L'extension XDebug n'est pas chargée". J'ai phpunit fonctionnant bien avec WAMP. Quand je lance php -m je ne vois pas xdebug dans les modules php ni dans les modules zend, ce qui indique pourquoi phpunit ne trouve pas l'extension xdebugL'extension xdebug n'est pas chargée

Quelqu'un at-il une idée de ce problème?

Ma configuration détaillée est la suivante: Windows 7 php 5.3.0 Apache 2.2.11 Zend Engine v2.3.0 Xdebug v2.1.0

Merci, Krishnen

Répondre

4

Est-ce que WAMP a un fichier de configuration différent pour le CLI et Apache? J'utilise Ubuntu personnellement, mais un google rapide m'a eu à this WAMP FAQ

HTH.

+0

Salut, phpinfo indique que le fichier ini suivant est chargé C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini ... c'est celui que j'ai modifié ajouté les paramètres suivants: [XDebug] zend_extension = "C: \ wamp \ bin \ php \ php5.3.0 \ ext \ php_xdebug.dll " xdebug.remote_enable = 1 – krishnen

+1

Ce chemin, c'est-à-dire' C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini' semble indiquer que vous avez seulement modifié le fichier de configuration PHP APACHE, pas le C Fichier de configuration PHP LI. Voir la réponse d'Edorian pour un pointeur sur la façon de trouver quel fichier de configuration est utilisé par votre CLI PHP. – Robin

+0

vous avez raison! suis un tel imbécile..j'ai ajouté le paramètre zend_extension dans l'autre fichier de configuration PHP CLI et il fonctionne maintenant aussi sur windows.Thks – krishnen

1

Merci à tous ceux qui ont répondu. J'ai répété la procédure sur un poste de travail ubuntu. Cette fois, j'ai tout compilé à partir de la source. Tout a fonctionné à la perfection et je peux maintenant exécuter le phpunit avec une couverture. Cela doit être un problème spécifique à Windows. J'utiliserai simplement une boîte Linux pour ce processus. Toute personne ayant des problèmes pour installer xdebug sur Linux, je serai heureux de vous aider!

2

Tapez php --ini sur cmd et accédez au fichier php.ini affiché.

Cette php.ini doivent avoir la configuration xdebug ...

mine est:

  
[XDebug] 
; Only Zend OR (!) XDebug 
zend_extension=C:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.0.5-5.3-vc6.dll 
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number. 
xdebug.remote_enable=1 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="c:\wamp\xdebug" 
xdebug.var_display_max_depth = 10 
xdebug.var_display_max_data = 2048 

(s'il vous plaît prendre en compte les lignes de rupture)

7

effectuer php --ini pour vérifier Le fichier de configuration sorcière est chargé.
si vous avez quelque chose comme ceci:

fichier de configuration Loaded: (none)
Rechercher les fichiers .ini supplémentaires: (aucun)
fichiers .ini supplémentaires analysable: (none)

copie juste votre php.ini dans fenêtres annuaire;)

+1

Lorsque l'utilisateur charge une page Web (ce qui signifie qu'il utilise Apache), la version du module de php est utilisée et les paramètres de cette version sont affichés par la fonction phpinfo(). La commandePhp --ini de la ligne de commande affiche les paramètres du version cgi autonome de php. – skiabox

0

Vous devez créer deux liens symboliques:

  1. c: \ php est un lien vers votre dossier en cours php
  2. c: \ windows \ php.ini est un lien symbolique vers votre php actuelle .fichier ini

Pour créer un lien symbolique dans les fenêtres utilisent mklink commande

par exemple

  • mklink/D c: \ php c: \ chemin \ vers \ votre dossier \ php fait un lien symbolique vers répertoire
  • mklink c: \ windows \ php.ini c: \ chemin \ \ votre \ php \ php.ini fait un lien symbolique fichier à

il semble dans les fenêtres phpunit en quelque sorte ne marche pas voir les chemins réels et que vous créez des liens symboliques chemins par défaut virtuels pour elle

0
  1. ouvert php.ini.
  2. look pour ; zend_extension
  3. enlever ; au début de , zend_extension pour l'activer
  4. Soyez valeur sûre de zend_extension est le bon répertoire pour le php_xdebug.dll