logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Creer son site web en php _ installer xdebug

Introduction

  • Dans ce wiki, je pars du principe qu'Apache est déjà installé, ainsi que php7.3

Si ce n'est pas le cas : prendre en main apache2

php -v
PHP 7.3.19-1~deb10u1 (cli) (built: Jul  5 2020 06:46:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.19-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Installation

* Il est possible d'installer xdebug avec apt, mais ce sera pas forcément la dernière version de xdebug.

 Dans ce cas :
apt-get install php-xdebug
Ne pas faire les deux installation, soit avec apt comme ci-dessus, soit en utilisant pecl, l'utilitaire php.

* La dernière version stable de xdebug, la version 3 n'étant pas dans les dépôts, il s'agira d'utiliser pecl pour faire l'installation.

* Pour utiliser pecl (gestionnaire d'extensions php)

apt install php-pear 

* Pour utiliser phpize

apt install php-dev  

* Installation de l'extention php xdebug

pecl install xdebug
  • Pendant l'installation :

Le retour de la commande donne une information qu'il faut conserver et qui ressemble à ceci :

zend_extension=/usr/lib/[phpversionX]/20131226/xdebug.so

Il faut bien copier la ligne qui comporte des chiffres et surtout pas celle de indiquée par l'installateur zend_extension=xdebug.so.

Il faudra la copier dans le fichier php.ini de Apache. En effet, pour faire du debugage entre son IDE et son navigateur, il est suffisant de configurer le fichier php.ini du dossier /etc/php/7.3/apache2/ correspondant à la version de php utilisée.

  • On édite le fichier php.ini :
vim /etc/php/7.3/apache2/php.ini
[Xdebug]
zend_extension=/usr/lib/php/20180731/xdebug.so
xdebug.mode = debug,develop,trace
xdebug.start_with_request = yes
xdebug.remote_host=localhost
xdebug.remote_port=9003
xdebug.remote_log=/tmp/xdebug.log
  • À partir de maintenant, la fonction php phpinfo() permet de vérifier que xdebug est bien installé:

On voit bien le résultat de la configuration de xdebug dans php.ini.

xdebug.mode = debug,develop,trace

  • debug : cette option permet de faire du pas à pas. Quand on l'ajoute on voit (“Enabled”) dans le tableau ci-dessous.
  • develop: cette option permet d'utiliser la fonctionnalité “Development Aids”. Utile pour surchager var_dump()
  • trace : cette option permet de debuger les fonctions php.

On peut en choisir d'autres. La documentation donne le détail des options possibles pour xdebug.mode ici.

Il faut mettre le port 9003 et non pas 9000 depuis la version 3 de xdebug, sans quoi rien ne marche !
  • Il est possible de faire du pas dans son IDE préféré après avoir rechargé apache !
service apache2 reload

Pour debuger en ligne de commande

Pour ceux qui préfèrent debuger en ligne de commande, il faut ajouter la configuration pour xdebug dans le fichier php.ini de dossier cli car pour l'instant php n'est pas informé de la présence de xdebug.

php -v
PHP 7.3.19-1~deb10u1 (cli) (built: Jul  5 2020 06:46:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.19-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies
vim /etc/php/7.3/cli/php.ini
[Xdebug]
zend_extension=/usr/lib/php/20180731/xdebug.so
xdebug.mode = debug,develop,trace
xdebug.start_with_request = yes
xdebug.remote_host=localhost
xdebug.remote_port=9003
xdebug.remote_log=/tmp/xdebug.log
php -v
PHP 7.3.19-1~deb10u1 (cli) (built: Jul  5 2020 06:46:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies
    with Xdebug v3.0.1, Copyright (c) 2002-2020, by Derick Rethans
    with Zend OPcache v7.3.19-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Utilisation avec VSCODE IDE

Installation de l'ide

apt update
apt install software-properties-common apt-transport-https curl
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
apt update
apt install code

Installation de l'extension php debug de Felix Becker

paramètres du fichier launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }
    ]
}

Utilisation avec NetBeans PHP IDE

On installe NetBeans PHP

  • On télécharge :

Voir cette page : https://netbeans.org/downloads/

Ou pour un ordinateur 64bits :

cd ~/Téléchargements && wget http://download.netbeans.org/netbeans/8.1/final/bundles/netbeans-8.1-php-linux-x64.sh
  • on installe NetBeans :
sh netbeans-8.1-php-linux-x64.sh
L'installation crée un dossier dans le répertoire courant de l'utilisateur.
  • Pour déinstaller NetBeans :
cd /home/hypathie/netbeans-8.1/
sh uninstall.sh

Paramètrer NetBeans

l'onglet Debugging Dans la bare de menu choisir Tools puis Options, puis PHP, puis l'onglet Debeugging :

Dans le champ Debeugger port il faut mettre la même valeur que celle choisie dans le fichier php.ini, par exemple 1000.

Importer le projet du serveur dans NetBeans

On travaillera en local dans un environnement de développement et non dans le projet déployé sur le serveur.

On envoie sur l'ordinateur de développement le dossier de code source du projet qui est sur le serveur.

On se connecte en ssh sur son serveur. Depuis le serveur on envoie sur l'ordinateur son projet.

cd /var/www

Par exemple :

scp -r titi@75.239.10.80:essai/ toto@71.222.30.40: .
  1. -r : signifie récursif, c'est pour envoyer un dossier plutôt qu'un fichier;
  2. titi est le nom de l'utilisateur du serveur ;
  3. 75.239.10.80 : ip du serveur ;(
  4. : signifie le répertoire courant où il y a le dossier à copier ;
  5. essai/ : le dossier à envoyer ;
  6. toto : est l'utilisateur de l'ordinateur de développement ;
  7. 71.222.30.40 : est l'ip de l'ordinateur de développement si elle est de type 192.168.0.xx, il faut paramétrer le routeur de son FAI pour les BAUX permanents de l'ordinateur de développement sur son ip 192.168.0.xx afin de faire une redirection vers celle-ci);
  8. : . : signifie que le dossier arrivera dans le répertoire courant de toto.

On charge dans NetBeans le dossier du projet

Pour travailler en local, sur l'ordinateur de développement, on a installer Apache et créé un virtualhost pour le site.

  1. On créer un nouveau projet ;
  2. On choisit PHP (catégories) et PHP Application with Existing Sources ;
  3. On choisit le dossier qu'on a reçu du serveur (attention de l'avoir bien placé dans le même endroit que déclaré à Apache au niveau de /etc/apache2/sites-available);
  4. Pour Run as on laisse local web server:
  5. url : On met la même que celle qui permet d'accéder à son site depuis le navigateur de l'ordinateur de développement. (Voir comment paramétrer /etc/hosts ici : https://debian-facile.org/utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-prendre-en-main-apache2-sur-jessie#ajouter-son-domaine-dans-etc-hosts)
utilisateurs/hypathie/tutos/creer-son-site-web-en-php-_-installer-xdebug.1608914535.txt.gz · Dernière modification: 25/12/2020 17:42 par Hypathie

Pied de page des forums

Propulsé par FluxBB