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 →
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
* Il est possible d'installer xdebug avec apt, mais ce sera pas forcément la dernière version de xdebug soit avec pecl.
apt-get install php-xdebug
apt install php-pear
* Pour utiliser phpize
apt install php-dev
* Installation de l'extention php xdebug
pecl install xdebug
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.
Par exemple ici on utilise la version 7.3 de php, le chemin est donc /etc/php/7.3/apache2/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
xdebug.mode = debug,develop,trace
On peut en choisir d'autres. La documentation donne le détail des options possibles pour xdebug.mode ici.
service apache2 reload
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.
On édite le php.ini du dossier cli : vim /etc/php/<version_de_php>/cli/php.ini
.
Par exemple dans ce cas :
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
apt-get install php-xdebug
On édite le fichier 20-xdebug.ini
ou /etc/php/8.2/fpm/php.ini
.
nano /etc/php/<version_de_php>/fpm/conf.d/20-xdebug.ini
On édite le fichier /etc/php/<version_de_php>/apache2/php.ini
Quelque soit le mode on vérifie qu'on a bien ajouté à la fin les lignes suivantes :
zend_extension=debug.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
On recharge la configuration si les lignes de configuration ci-dessus n'y étaient pas.
systemctl restart php<version_de_php>-fpm
systemctl restart apache2
<?php phpinfo() ?>
Et maintenant on peut voir que l'installation est faite en faisant :
php -i | grep -i "xdebug.mode"
xdebug.mode => debug,develop,trace => debug,develop,trace
apt update
apt install software-properties-common apt-transport-https curl
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/vscode.gpg
vscode.gpg
dans /usr/share/keyrings/
echo "deb [signed-by=/usr/share/keyrings/vscode.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list
apt update
apt install code
{ // 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 } ] }
C'est comme pour tout autre EDI ! Un petit rappel :)
[xdebug] ;; xdebug 3 zend_extension=xdebug.so xdebug.mode=debug,develop,trace xdebug.mode=debug xdebug.start_with_request = yes xdebug.client_host=localhost xdebug.client_port=9003
sudo symfony server:start –no-tls –port=80
.
Il faut alors bien vérifier que apache est éteint : systemctl stop apache2
symfony server:start –no-tls
.
On peut laisser apache tourner systemctl start apache2
sur le port 80.
Mais dans ce cas, il faut indiquer dans launch.json
le port à écouter en ajoutant la ligne url“: “http://127.0.0.1:8000
"configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003, "url": "http://127.0.0.1:8000" },
Run
Edit configurations…
+
(en haut à gauche), PHP web PageName
: on met ce qu'on veut, par exemple local_dev
Server
: on a cliqué sur les trois petits points …
qui ouvre une nouvelle fenêtre qui crée un serveur.Name
on met le même nom que précédemment, par exemple local_dev
Host
on met : localhost Port
on laisse 80
Debugger
on met Xdebug
Debug pre-configuration
sur le lien Validate
pour voir si le paramétrage est bon.OK
Bug
vert qui permet de lancer le debuggage, on a bien sélectionner dans la liste déroulante, la configuration qu'on vient de créer local_dev
.
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
sh netbeans-8.1-php-linux-x64.sh
cd /home/hypathie/netbeans-8.1/
sh uninstall.sh
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.
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: .
-r
: signifie récursif, c'est pour envoyer un dossier plutôt qu'un fichier;titi
est le nom de l'utilisateur du serveur ;75.239.10.80
: ip du serveur ;(:
signifie le répertoire courant où il y a le dossier à copier ;essai/
: le dossier à envoyer ;toto
: est l'utilisateur de l'ordinateur de développement ;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);: .
: signifie que le dossier arrivera dans le répertoire courant de toto.Pour travailler en local, sur l'ordinateur de développement, on a installer Apache et créé un virtualhost pour le site.
PHP
(catégories) et PHP Application with Existing Sources
;/etc/apache2/sites-available
);Run as
on laisse local web server
: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)