web-dev-qa-db-fra.com

Impossible d'installer xdebug sur LAMPP avec PHP 7.3.5

J'ai cherché et lu beaucoup de discussions et beaucoup de sites Web. Documentation de xdebug également.

Mais je continue de développer sans xdebug, et j'en ai vraiment besoin.

J'ai suivi les instructions d'installation de quelques sites Web (par exemple: https://simplecodetips.wordpress.com/2018/07/12/instalar-xdebug-con-xampp-en-ubuntu-18-04/ ), mais je ne peux pas le terminer car je n'ai pas de module appelé enable-xdebug .

J'ai également essayé d'installer par PECL, et j'ai ajouté zend_extension = "/ opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so" et pointé le php.ini de XAMPP vers le CHEMIN l'indique une fois l'installation terminée. Ça ne marche pas.

Lorsque je charge une page avec phpinfo (), xdebug ce n'est le résultat d'aucune des installations que je fais.

Je ne sais pas quel est le problème, peut-être que l'origine est XAMPP elle-même.

Merci.

1
iDon'tKnoware

Enfin, après beaucoup plus de recherches, j'ai trouvé que c'était peut-être mon problème: la version 64 bits de XAMPP.

De là, j'ai commencé à rechercher des informations sur ce problème et j'ai terminé sur la page suivante: https://weekly-geekly.github.io/articles/91575/index.html

J'ai suivi ces étapes (attention aux --with-php-conig drapeau dans ce message, il est mal tapé et il manque le "f". Ça devrait être --with-php-config). Cela a finalement obtenu Xdebug v2.8.0beta1 fonctionnant sur XAMPP 7.3.5 64 bits.


EDIT: ajout d'étapes copiées directement depuis la source

XAMPP sur Linux + Xdebug (Linux 64bit)

Donc, aujourd'hui, j'ai réussi à mettre XDebug sur XAMPP pour Linux. Si vous avez un Linux 32 bits, vous ne pouvez pas lire le texte restant, vous avez une solution simple, et pas une qui peut être facilement trouvée sur le Web.

À propos des avantages fous du débogueur pour PCP n'ont même pas besoin de le dire. Sur whist/vindous7 64 bits, le hdebag ne voulait pas du tout fonctionner (whist s'est effondré; il n'y avait pas de version compilée de la bibliothèque pour les sept)

Pour ceux qui ne connaissent pas: XAMPP - progiciel d'Apache + mysql + php + Perl + proftpd + ... XDebug est une bibliothèque pour PHP. Vous permet d'effacer les scripts sur PHP. (Principalement utilisé avec IDE, par exemple Eclipse + PDT. Vous permet de définir des points d'arrêt, de déboguer étape par étape et de regarder le contenu des variables)

Si vous venez ici d'une recherche, alors vous n'êtes pas intéressé par mes aventures et mes recherches, donc, immédiatement au point.

Mise à jour: Chers futurs lecteurs, cet article est pour vous si:

  • Vous devez souvent basculer entre différentes configurations de serveur Web (par exemple PHP4/5.2/5.3) ou pour d'autres raisons, vous utilisez XAMPP sous Linux.
  • Vous avez besoin de XDebug
  • Vous avez Linux 64 bits
  • Au moment où vous commencez à lire cet article, il n'y a pas de HAMRP 64 bits.

Le reste, vous ne pouvez pas lire. Je ne compare pas HAMRR avec d'autres solutions existantes, je l'ai juste, je l'utilise avec plaisir. J'ai fouillé dans le réseau et je n'ai pas trouvé de solution à mon problème, j'ai donc décidé de partager avec vous ici.

Système

Linux: Ubuntu 9.10 Karmic Koala 64bit XAMPP: v1.7.1 (avec PHP 5.2.9) - Je pense que pour une autre version, le processus sera très similaire.

Installation de XAMPP

Allez ici, choisissez la version que vous souhaitez. sourceforge.net/projects/xampp/files

Dans mon cas, c'est Linux XAMPP/1.7.1.

Nous téléchargeons des fichiers (par exemple, dans le répertoire ~/Downloads/xampp /):

xampp-linux-devel - *. tar.gz : contient les fichiers d'en-tête nécessaires à la compilation de xdebug

xampp-linux - *. tar.gz : le XAMPP

Installez Ksamp et les bibliothèques dans le dossier/opt

# cd ~/Downloads/xampp

# Sudo tar xzf xampp-linux-1.7.1.tar.gz -C /opt 

# Sudo tar xzf xampp-linux-devel-1.7.1.tar.gz -C /opt 

Télécharger xdebug

D'ici: xdebug.org/download.php nous téléchargeons le code source de la version requise (j'ai téléchargé 2.1.0RC0 et 2.0.5). J'ai téléchargé dans ~/téléchargements/xdebug /

Déballage

# tar xzf xdebug* 

# cd xdebug* 

Installation d'autres bibliothèques

Honnêtement, je ne sais même pas si elles sont vraiment nécessaires. Mais pour compiler FF pour 32 bits à partir de 64, il semble nécessaire

# Sudo apt-get install ia32-libs gcc-multilib 

Configuration des variables d'environnement

Pour une raison quelconque, phpize a catégoriquement refusé de travailler, se plaignant de $ PHP_AUTOCONFIG et $ PHP_AUTOHEADER sans la chose suivante:

Ouvrez avec votre éditeur:

 ~/.bashrc 

À la fin, nous ajoutons la ligne:

export PATH=/opt/lampp/bin:$PATH 

Maintenant dans le Shell:

# export PATH=/opt/lampp/bin:$PATH 

# export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig 

# export CC="gcc -m32" 

# export CXX="g++ -m32" 

Nous collectons Xdebug pour 32 bits

# phpize 

# ./configure --enable-xdebug --with-php-config=/opt/lampp/bin/php-config --x-libraries=/usr/lib --target=i686-pc-linux 

# make 

Nous copions dans un dossier vers Ksamp (Note de moi : je ne sais pas ce qu'est Ksamp, et pourquoi c'est nécessaire ici. Quoi qu'il en soit, faites cette étape, car c'est essentiellement le fichier qui fait fonctionner xDebug sur votre XAMPP.)

# Sudo cp modules/xdebug.so /opt/lampp/lib/php/extensions/ 

Configurer PHP

# Sudo gedit /opt/lampp/etc/php.ini 

Allumez la bibliothèque (j'ai ajouté ceci à la ligne 545)

zend_extension="/opt/lampp/lib/php/extensions/xdebug.so"

Démarrer/redémarrer et vérifier

# Sudo /opt/lampp/lampp restart 

# /opt/lampp/bin/php -i | grep xdebug 

xdebug 
xdebug support => enabled 
xdebug.auto_trace => Off => Off 
xdebug.collect_includes => On => On 
xdebug.collect_params => 0 => 0 
xdebug.collect_return => Off => Off 
xdebug.collect_vars => Off => Off 
xdebug.default_enable => On => On 
xdebug.dump.COOKIE => no value => no value 
xdebug.dump.ENV => no value => no value 
... 
.. 

Bon débogage!

PS: vous pouvez supprimer la ligne ajoutée de ~/.bashrc


Pour voir si vous avez activé xDebug, accédez à votre tableau de bord XAMPP ou créez un fichier .php avec ce contenu dans votre chemin htdocs :

<?php phpinfo(); ?>

Chargez dans votre navigateur Web -> CTRL + A -> CTRL + C -> Aller à l'assistant xDebug -> Collez-le avec dans la zone de texte et cliquez sur Analyser mon phpinfo ( ) sortie pour voir si vous l'avez activé ou non.

1
iDon'tKnoware