2011-03-12 5 views
2

Je ne peux pas déboguer un script PHP en tant que script. Il se termine toujours immédiatement après le démarrage. J'ai mis en place un journal Xdebug dans mon php.ini, mais c'est complètement inutile. Xdebug apparaît sur mon phpinfo(), donc je sais qu'il est chargé dans Apache.Utilisation de XDebug avec Eclipse PDT & XAMPP

Je peux également déboguer du code en tant que page Web (qui ne fournit aucune information sur les variables et ne s'arrêtera pas sur les points d'arrêt), donc je sais qu'Eclipse a les paramètres de serveur appropriés. Les deux options de débogage utilisent le même exe PHP (celui installé avec XAMPP, PHP 5.3.1 compilé avec le compilateur vc6). Je me suis assuré que la compilation de Xdebug correspondait à ces paramètres. Sur une note peut-être liée: J'ai remarqué que je ne pouvais charger Xdebug qu'avec la commande zend_extension, au lieu de zend_extension_ts même si ma version de PHP est bien sûre pour les threads. Je dois admettre que je suis un peu confus par cela. J'ai aussi fait très attention à ce que je puisse sélectionner "XDebug" dans Eclipse. J'ai suivi deux tutoriels en vain ici. Quelqu'un a des idées? J'ai essayé la version de Xdebug fournie avec mon XAMPP (2.0.6-dev) et j'ai également téléchargé un nouveau .dll, version 2.1.

Merci!

Répondre

-1

d'abord télécharger le fichier dll pour xDebug puis modifiez votre fichier php.ini zend_extension_ts = « C: \ xampp \ php \ ZendOptimizer \ lib \ ZendExtensionManager.dll » assurez-vous que la ligne est décommentée restart apache assurez-vous vous modifiez le bon fichier php.ini

6

Excellent instructions for Setup XDebug on XAMPP and Eclipse @ user629300 Les instructions sont valables pour les versions d'Eclipse antérieures à la 3.5. Consultez les liens pour obtenir des instructions sur les instructions basées sur les versions. Aussi Getting XDebug to work with apache xampp to debug php, a des images avec de bonnes explications. Ils sont un peu vicié cependant.


Un résumé des détails du premier lien, en supposant PHP> 5.3 (qui, espérons tout le monde est en cours d'exécution maintenant!):

  • Assurez-vous que votre fichier php.ini contient les éléments suivants:

    [XDebug] 
    zend_extension={xampp-folder}\php\ext\php_xdebug.dll 
    xdebug.remote_enable=1 
    xdebug.remote_host="localhost" 
    xdebug.remote_port=9000 
    xdebug.remote_handler="dbgp" 
    
  • Supprimez toutes les entrées de configuration sous la rubrique [Zend], en particulier ceux commençant par zend_extension
  • Configurer Eclipse:
    • dans la fenêtre -> Préférences -> PHP -> Serveurs, configurer le serveur PHP pour utiliser XDebug, ajoutez l'URL de base et de la racine web local
    • dans -> débogueurs installés, configurez XDebug d'accepter à distance sessions
    • (en option?) configurer l'exécutable PHP pour pointer vers php.exe dans votre installation XAMPP

Vous devriez maintenant être en mesure de frapper dans Eclipse par des points d'arrêt en ajoutant XDEBUG_SESSION_START à la chaîne de requête de votre URL, e. g. http://localhost/?XDEBUG_SESSION_START.

+1

Astuce Pro pour les imbéciles comme moi qui ont jeté aveuglément les lignes de configuration de l'exemple dans le premier lien et ne pouvaient pas le faire fonctionner: les citations utilisées sont _smart_ i.e.'" 'Et' "' - ils devraient être changés en doubles guillemets réguliers '" '. –

+0

N'oubliez pas d'arrêter, puis redémarrez, Apache, pour que le nouveau PHP.INI soit lu – Mawg

+0

Vous pouvez utiliser ce plugin Chrome pour définir de XDEBUG_SESSION_START lorsque vous voulez déboguer, ceci avec l'aide de l'appel POST: https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc?hl=fr –

Questions connexes