Aller sur https://portableapps.com/ et télécharger la version portable de Xampp :
xampp-portable-win32-7.3.0-0-VC15.7z
Décompresser le contenu de l'archive dans le dossier C:\xampp :
C:\xampp
Ne pas installer ailleurs car plein de chemins sont préconfigurés sur \xampp donc pour éviter de tout changer on va laisser ça comme ça.
Lancer C:\xampp\xampp-control.exe
Cliquer sur le bouton Config
Remplacer notepad.exe par un éditeur digne de ce nom, et cocher Show debug information
Cliquer sur Service and Port Settings
Dans l'onglet Apache, remplacer les ports 80 et 443 par 8080 et 8443
À ce stade, Apache ne doit plus se plaindre du port 80, mais n'arrive quand même pas à tourner (voir chapitre suivant)
Pour voir la cause de cette erreur, ouvrir un terminal et y lancer la commande suivante pour voir directement l'affichage d'Apache :
c:\xampp\apache\bin\httpd.exe
Sur la ligne Apache, cliquer sur le bouton Config puis sur Apache (httpd.conf)
Remplacer le port 80 par 8080 partout où il apparaît.
Ensuite cliquer sur Apache (httpd-ssl.conf)
Remplacer le port 443 par 8443 partout où il apparaît.
Cliquer sur Start et cela devrait maintenant fonctionner, sinon lancer httpd.exe manuellement comme ci-dessus pour voir le message affiché par Apache.
Modifier httpd.conf pour changer le dossier.
Par exemple si le projet se trouve dans C:\data\prgweb\monprojet :
DocumentRoot "C:/data/prgweb/monprojet" <Directory "C:/data/prgweb/monprojet"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
Puis redémarrer Apache.
Éditer le fichier C:\xampp\php\php.ini
date.timezone = Europe/Brussels extension=gd2 extension=intl extension=pdo_firebird extension=pdo_sqlite
Redémarrer Apache.
Librairies 32 ou 64 bits ?
Télécharger la version 64 bits de fbclient.dll
Redémarrer Apache ⇒ non, ça ne marche quand même pas…
Pour faire des VirtualHost
Si au moins un VirtualHost est configuré, il prend le dessus sur la configuration principale faite dans le httpd.conf, et on n'a plus accès au reste du dossier sur l'adresse localhost.
On peut alors faire un VirtualHost global suivi d'un VirtualHost par projet :
=> sera accessible sur http://localhost:8080 <VirtualHost *:8080> ServerName localhost ServerAdmin marclebrun2@gmail.com DocumentRoot "C:/data/prgweb" <Directory "C:/data/prgweb"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require all denied Require all granted </Directory> </VirtualHost> => sera accessible sur http://cake.localhost:8080 <VirtualHost *:8080> ServerName cake.localhost ServerAdmin marclebrun2@gmail.com DocumentRoot "C:/data/prgweb/MonSiteCake/webroot" <Directory "C:/data/prgweb/CakeMarcLebrun2019/webroot"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require all denied Require all granted </Directory> </VirtualHost>