Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide explique comment convertir une offre Web Starter gratuite vers une offre payante plus complète et améliorée, comme un Hébergement Web mutualisé ou un hébergement Web sur Serveur Cloud.
Préambule
- En achetant un nom de domaine auprès d'Infomaniak, vous obtenez 1 adresse mail gratuite ainsi qu'un espace Web basique de 10 Mo.
- En quelques clics, il est possible de faire évoluer ces offres pour bénéficier d'une expérience enrichie.
Modifier l'offre Starter - page Web basique
Pour faire évoluer cette offre gratuite :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le menu d'action ⋮ situé à droite de l'élément concerné.
- Cliquez sur Modifier l'offre:
- Suivez l'assistant pour choisir le nouveau type d'hébergement, payez pour terminer le changement d'offre.
Ce guide explique pourquoi il existe un dossier /icons/
au sein des Hébergements Web Infomaniak.
Dossier /icons/ sur votre Hébergement Web
Dans certains cas, un dossier nommé /icons/
est présent par défaut sur votre hébergement Web. Ce dossier est généralement accessible via HTTP, mais n'est pas visible dans l'arborescence FTP (www.domain.xyz/icons/
).
Ce répertoire /icons/
est souvent utilisé pour stocker des icônes ou des images spécifiques servant à l'affichage des listes de répertoires. Ces icônes sont généralement utilisées par les serveurs Web pour représenter visuellement les différents types de fichiers dans les répertoires lorsqu'ils sont consultés via un navigateur.
Ce guide concerne la synchronisation des serveurs via le protocole NTP (Network Time Protocol) et la configuration de la timezone sur les serveurs d'Infomaniak.
Synchronisation précise des serveurs via NTP
Les serveurs d'Infomaniak sont tous synchronisés via le protocole NTP. La société met à disposition ses propres serveurs NTP stratum-1 accessibles au public pour une utilisation flexible.
Pour intégrer ces serveurs dans vos paramètres, utiliser l'enregistrement suivant: pool.ntp.infomaniak.ch
.
La configuration par défaut de la timezone est en UTC. Cependant, les fonctions PHP sont conçues pour prendre en compte différentes timezones en fonction des besoins spécifiques.
Pour ajuster la timezone dans vos scripts PHP, utiliser la fonction date_default_timezone_set('UTC')
.
MySQL: spécificités temporelles
L'infrastructure Infomaniak prend en charge les fonctionnalités permettant de travailler avec des données temporelles de manière précise et efficace, en tenant compte des fuseaux horaires, ce qui est crucial pour de nombreuses applications modernes:
- MySQL utilise une base de données de fuseaux horaires pour stocker et gérer les informations sur les fuseaux horaires.
- La table
mysql.time_zone
contient les données des fuseaux horaires, y compris les informations sur les décalages de temps, les noms de fuseaux horaires, etc. - La fonction CONVERT_TZ est utilisée pour convertir une heure d'un fuseau horaire à un autre dans MySQL avec la syntaxe suivante :
CONVERT_TZ(dt, from_tz, to_tz)
, oĂą :dt
est la date/heure Ă convertir.from_tz
est le fuseau horaire source.to_tz
est le fuseau horaire cible.
- Exemple:
CONVERT_TZ('2024-05-14 12:00:00', 'UTC', 'America/New_York')
convertira le temps 12:00:00 UTC en temps local Ă New York.
Ce guide fournit des informations précises sur la prise en charge de l'environnement de développement ASP
(Active Server Pages, aspx) au sein de l'infrastructure d'Infomaniak.
Prise en charge de l'ASP
Les services d'hébergement Web et Serveurs Cloud reposent sur une architecture serveur Apache qui ne supporte pas nativement le module Apache::ASP.
Cependant, il existe la possibilité d'installer et de configurer cet environnement ASP sur VPS Cloud Infomaniak.
Ce guide explique comment ajouter des adresses IP Ă la liste blanche d'un site Web Infomaniak.
Préambule
- Autoriser des IP sur
xmlrpc.php
permet d'accéder aux URLs qui sont bloquées par défaut, car jugées à risques. - Ce type de blocage est effectif sur tous les serveurs récents.
- Concernant WordPress, sa fonctionnalité XML-RPC n'est disponible par défaut que via les services Infomaniak et JetPack pour des questions de sécurité.
Ajouter des adresses IP Ă la liste blanche xmlrpc.php
Pour accéder à la gestion du site Web :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné:
- Cliquez sur Gérer sous Paramètres avancés:
- Cliquez sur l'onglet PHP / Apache.
- Complétez la ligne concernée:
- Cliquez sur le bouton pour sauvegarder.
Ce guide permet de résoudre une erreur de type "Invalid query: MySQL server has gone away
".
Préambule
- Ce type d'erreur a souvent comme origine le fait de garder une connexion MySQL ouverte sans soumettre de requĂŞtes pendant un intervalle de temps au-delĂ duquel la connexion est close: http://dev.mysql.com/doc/refman/5.7/en/gone-away.html
- Les variables
wait_timeout
etinteractive_timeout
qui contrôlent cette déconnexion sont à 30 secondes: http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
Solutions
Pour éviter l'erreur "MySQL server has gone away", voici plusieurs approches possibles:
Vérification et reconnexion automatique
Avant d'exécuter une requête, il est recommandé de tester si la connexion MySQL est toujours active. Si la connexion a été fermée, vous pouvez la rétablir automatiquement avant de poursuivre avec votre requête. Voici un exemple en PHP :
if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}
La fonction mysqli_ping()
vérifie si la connexion est toujours valide. Si elle ne l'est pas, le script ferme la connexion et en ouvre une nouvelle.
Envoi de "Ping" régulier
Un autre moyen consiste à exécuter un script qui envoie régulièrement un "ping" à la base de données pour maintenir la connexion active. Par exemple vous pourriez créer une tâche planifiée (cron job) qui envoie une requête légère, comme SELECT 1;
à intervalles réguliers.
Ajustement des paramètres MySQL (Serveur Cloud)
Avec un Serveur Cloud, vous pouvez augmenter les valeurs des variables wait_timeout
et interactive_timeout
depuis le menu MySQL de votre serveur pour prolonger la durée de la connexion avant qu'elle ne soit fermée.
Ce guide explique comment mettre en place un réseau de sites WordPress afin de gérer plusieurs sites à partir d’une même installation WordPress Infomaniak, avec des adresses URL de type site1.domain.xyz
, site2.domain.xyz
, ou mĂŞme avec domain1.com
, domain2.com
, etc.
Simplifiez-vous la vie ! En cas de besoin, des partenaires locaux et référencés par Infomaniak peuvent s'occuper de ces démarches. Lancez un appel d'offres gratuit. Ils s'occupent de tout, vous libérant des détails techniques.
Installation de WordPress multisite
Pour commencer:
- Installez WordPress via Infomaniak sur votre espace d'hébergement avec un nom de domaine principal:
- Ce premier site WordPress doit ĂŞtre atteignable et fonctionner correctement:
- Ce premier site WordPress doit ĂŞtre atteignable et fonctionner correctement:
- Connectez-vous par FTP.
- Editez le fichier
wp-config.php
de ce premier site WordPress concerné. - Au-dessus de la ligne "
/* That's all, stop editing! Happy blogging. */
" (#94) copiez-collez le codedefine('WP_ALLOW_MULTISITE', true);
:
- Enregistrez vos changements.
- Connectez-vous ensuite sur l'administration de votre site WordPress.
- Désactivez temporairement toutes les extensions WordPress:
- Rendez-vous dans le menu OUTILS afin de créer un Réseau:
- Choisissez la méthode de création de vos différents WordPress (sur sous-domaines)…
- Cliquez sur le bouton d'installation:
- Ajoutez les indications qui s'affichent à l'écran dans le
wp-config.php
et.htaccess
sur le serveur. - Après reconnexion à votre WordPress vous obtiendrez un nouveau menu "Mes sites" dans lequel vous pourrez ajouter et gérer vos différents sites du même réseau:
- Réactivez vos extensions désactivées.
- Sur le Manager, ajoutez un alias Ă votre site de la forme
*
.votre-domaine-ici (l'astérisque permet de créer un alias wildcard) avec mise à jour DNS afin que le bonCNAME
soit ajouté automatiquement dans la zone: - Installez ou mettez à jour vos certificats SSL:
- Lorsque vous créerez un nouveau site au sein du réseau, en le nommant par exemple
home2
alors il deviendra accessible viahome2.domain.xyz
et ainsi de suite:
Ce guide vous concerne si vous souhaitez réaliser des tests de vulnérabilité de votre site / serveur hébergé par Infomaniak.
Tolérés et restreints
Vous êtes libre de réaliser des tests de vulnérabilité (injection SQL, XSS, etc.), d'intrusion, ou test de pénétration (pentest) de votre hébergement Infomaniak uniquement selon les conditions suivantes:
- … entre 9h et 17h CET
- … du lundi au vendredi
- … avec le minimum de paquet d'attaque quel que soit le logiciel employé (AppScan par exemple)
- … sans jamais faire une seule attaque de type DoS ou DDoS (Déni de service / Denial of Service)
- … en respectant les CGU Infomaniak en particulier le cadre mutualisé des services
Toute utilisation abusive pourra entraîner une résiliation anticipée de la part d'Infomaniak.
Ce guide explique comment résoudre un problème d'importation de fichier .csv dans une table MySQL. L'alternative proposée consiste à lire le fichier CSV ligne par ligne à l'aide de PHP et à insérer les données dans la base de données MySQL.
Fonction "load data local infile" désactivée
La fonction LOAD DATA LOCAL INFILE
permet d'importer un fichier CSV dans une table MySQL et est malheureusement désormais fréquemment utilisée par les pirates pour obtenir l'accès à certains sites hébergés sur des machines acceptant cette fonction.
Pour lutter contre les actes de malveillances et continuer à protéger autant que possible les données des clients, Infomaniak a désactivé la fonction LOAD DATA LOCAL INFILE
. Ne sont pas concernées par cette modification les personnes important leurs fichiers CSV (à condition de ne pas cocher "CSV via LOAD DATA") via phpMyAdmin.
Voici une alternative pour continuer à importer des données au format CSV dans une table MySQL, un exemple complet (en français) du code avec une gestion correcte des erreurs pour l'ouverture du fichier CSV et l'insertion des données dans la base de données.
Cette version utilise mysqli
pour se connecter à la base de données et les requêtes préparées pour insérer les données, offrant ainsi une meilleure sécurité et compatibilité avec les versions récentes de PHP et une facilité à l'implémenter dans votre script PHP ou simplement dans un nouveau fichier PHP de votre répertoire /web:
$NomDuFichier = "data.csv";
// Connexion à la base de données MySQL avec mysqli
$link = new mysqli("localhost", "username", "password", "database");
// Vérification de la connexion
if ($link->connect_error) {
die("Échec de la connexion : " . $link->connect_error);
}
// Ouverture du fichier CSV en lecture
if (($handle = fopen($NomDuFichier, "r")) !== FALSE) {
// Décomposition de chaque ligne du fichier CSV
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
// Préparation de la requête SQL
$query = "INSERT INTO `test` VALUES (" . str_repeat('?,', count($data) - 1) . "?)";
$stmt = $link->prepare($query);
// Vérification de la préparation de la requête
if ($stmt === FALSE) {
die("Échec de la préparation de la requête : " . $link->error);
}
// Liaison des paramètres
$types = str_repeat('s', count($data)); // Assume que toutes les colonnes sont de type string
$stmt->bind_param($types, ...$data);
// Exécution de la requête
if (!$stmt->execute()) {
die("Échec de l'exécution de la requête : " . $stmt->error);
}
// Fermeture de la déclaration
$stmt->close();
}
// Fermeture du fichier CSV
fclose($handle);
} else {
echo "Erreur : impossible d'ouvrir le fichier.\n";
exit(1);
}
// Fermeture de la connexion à la base de données
$link->close();
?>
Obtenir de l'aide
Il est malheureusement impossible de vous indiquer précisément à quel endroit de votre script ces lignes de code doivent être ajoutées.
Si l'alternative proposée pose problème lorsque vous soumettez plusieurs fichiers CSV à lire et que la procédure par exemple se termine sans renvoi de message malgré les points de gestion des messages dans le fichier PHP, il est possible que les tables et les champs utilisés soient mal indexés et dans ce cas, contactez également votre webmaster.
Prenez connaissance de la documentation de PHP concernant fgetcsv
.
Simplifiez-vous la vie ! En cas de besoin, des partenaires locaux et référencés par Infomaniak peuvent s'occuper de ces démarches. Lancez un appel d'offres gratuit. Ils s'occupent de tout, vous libérant des détails techniques.
Ce guide présente l'outil de Diagnostic DNS qui permet de vérifier que les relations entre…
- NOM DE DOMAINE chez Infomaniak
et
- HEBERGEMENT WEB chez Infomaniak
… sont bien correctes, ceci afin que le trafic Web se dirige au bon endroit.
Préambule
- Pour vérifier, l'outil contrôle les enregistrements A, CNAME, etc.
- Vous pourrez ainsi détecter et corriger certains problèmes Web en particulier s'ils sont liés aux DNS (informations techniques qui, en gros, déterminent où doit être dirigé tel ou tel trafic Web) en agissant au niveau de votre domaine.
- La correction automatique n'est possible que lorsque le nom de domaine est présent sur la même Organisation que le produit auquel il doit être rattaché.
- Si tel n'est pas le cas alors la correction devra se faire manuellement.
Diagnostiquer un problème DNS
Afin d'accéder au diagnostic DNS de votre nom de domaine :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez sur Web dans le menu latéral gauche.
- Cliquez sur Diagnostic DNS dans le menu latéral gauche:
- Si des problèmes de DNS sont détectés, un affichage rouge sur le tableau le signale:
- Corrigez chaque erreur individuellement en cliquant sur le menu d'action ⋮ situé à droite de l'élément concerné…
- … ou toutes les erreurs d'un coup…
- … ou si nécessaire et que vous êtes sûr de vous, ignorez ces avertissements.
- Si des problèmes de DNS sont détectés, un affichage rouge sur le tableau le signale:
Prenez connaissance de cet autre guide au sujet de ce même processus de vérification automatique mais pour les Services Mail.
Ce guide concerne le nom des pages d'accueil qu'il est possible d'avoir sur votre Hébergement Web Infomaniak, et qui seront prises en compte en priorité lorsqu'un visiteur accède à votre site Web via son nom de domaine.
Concernant Site Creator, prenez connaissance de cet autre guide.
Préambule
- Les pages d'accueil par défaut sur un serveur Web sont les premières pages qui s'affichent lorsqu'un utilisateur accède à un site Web sans spécifier de fichier particulier.
- Si vous entrez simplement
http://domain.xyz
dans la barre d'adresse de votre navigateur, le serveur web va chercher une page d'accueil par défaut à afficher, par exempleindex.html
,index.php
,index.htm
, ou d'autres variations similaires.
Ordre de priorité des pages d'accueil
Voici dans l'ordre de priorité les pages chargées par défaut chez Infomaniak :
- index.html
- index.htm
- home.html
- home.htm
- default.html
- default.htm
- index.cgi
- index.php
- index.php5
- index.php4
- index.php3
- default.php
- home.php
- welcome.php
Pour résumer:
- Si vous avez 2 pages à la racine de votre hébergement, grâce au classement ci-dessus, vous constatez que
index.php
est reconnu en prioritĂ© par rapport Ăwelcome.php
. - On peut aussi en déduire que si vous n'avez que
welcome.php
comme page sur le dossier racine, elle sera chargée et fonctionnera comme page d'accueil. - Si vous avez une page
accueil.html
, cela ne fonctionnera pas car ce nom n'est pas dans la liste. - Lorsque vous taperez
www.domaine.xyz
dans le navigateur, seuleindex.php
s'affichera automatiquement (et pour afficherwelcome.php
vous devrez taper le nom précis de la pagewww.domaine.xyz/welcome.php
).
Personnaliser la page d'accueil par défaut
Pour définir une autre page d'accueil chargée par défaut, ajouter DirectoryIndex
puis les pages adéquates dans le fichier .htaccess
:
DirectoryIndex accueil.html index.php index.html
Cela signifie que le serveur Web va d'abord chercher un fichier nommé accueil.html
. S'il ne trouve pas accueil.php
, il cherchera index.php
, puis index.html
.
Afin d'éviter une erreur “Créer une base de données: aucun privilège” il faut impérativement passer par le Manager Infomaniak et non par phpMyAdmin
pour ajouter une nouvelle base de données.
Ce guide explique comment obtenir des informations sur la présence d'un système de cache sur un site en utilisant la commande curl
.
Préambule
- Dans le monde de la programmation et de l'administration système, il est souvent nécessaire de déterminer si un site web utilise un système de mise en cache pour améliorer ses performances.
- Les systèmes de mise en cache comme Fastly sont couramment utilisés pour stocker temporairement des données afin de les servir plus rapidement aux utilisateurs.
- En suivant ces étapes, vous pourrez déterminer si un site Web utilise un système de mise en cache pour améliorer ses performances et comprendre le fonctionnement et l'optimisation des sites.
Utilisation de la commande curl
curl
est un outil en ligne de commande permettant de transférer des données à l'aide d'URL.
L'option -svo /dev/null
est utilisée pour effectuer une requête silencieuse (-s
), afficher des informations détaillées sur la requête (-v
) et rediriger les données de sortie vers /dev/null
pour les ignorer (/dev/null est un périphérique spécial sur les systèmes Unix/Linux qui se comporte comme une poubelle). -H "Fastly-Debug: true"
est un en-tête HTTP ajouté à la requête pour demander des informations de débogage spécifiques à Fastly.
Exécuter la commande
Exécutez la commande suivante depuis une application de type Terminal
(interface en ligne de commande, CLI /Command Line Interface
) sur votre appareil:
curl -svo /dev/null [url] -H “Fastly-Debug: true”
et remplacez [url]
par l'adresse du site Web que vous souhaitez vérifier.
Si le site utilise Fastly ou un autre système de mise en cache similaire, vous verrez des informations de débogage spécifiques dans la sortie de la commande. Les détails fournis peuvent inclure des informations sur les requêtes et les réponses HTTP, ainsi que des informations sur le cache et les performances.
Ce guide explique comment activer l'option MultiViews via un fichier .htaccess
sur les sites hébergés par Infomaniak.
Préambule
- Dans certains cas, l'option MultiViews doit être activée afin de gérer des problèmes de redirection et de réécriture d'URL. Exemple:
- Si le dossier
configuration
et le fichierconfiguration.php
se trouvent Ă la racine de votre site et que vous tentez d'atteindre l'adressemon-site.com/configuration
pour accéder au fichierconfiguration.php
, l'option MultiViews doit être activée.
- Si le dossier
Activer l'option MultiViews
Pour cela:
- Ouvrez ou créez le fichier
.htaccess
qui se trouve à la racine du site concerné. Ajoutez la directive suivante:
Options +MultiViews
- Sauvegardez les modifications.
Ce guide concerne ImageMagick, une solution puissante pour la manipulation d'images, que vous pouvez installer sur un Hébergement Web Infomaniak.
Pour l'installation, le plus simple est de passer par Fast installer.
ImageMagick et alternatives
Ces solutions de manipulation d'image sont compatibles avec les hébergements Web et Serveurs Cloud:
ImageMagick
: la principale suite logicielle pour la manipulation polyvalente d'images via la ligne de commandePerlMagick
: interface Perl pour intégrer les fonctionnalités d'ImageMagick dans des scripts Perl- Module Perl
Image::Magick
: extension Perl pour accéder aux fonctionnalités d'ImageMagick sans spécifier le chemin absolu de l'exécutable GD 2.x
: bibliothèque graphique open-source offrant des fonctionnalités similaires à ImageMagick, souvent utilisée dans des contextes de développement webGallery 2
: plateforme de gestion de galeries d'images compatible avec ImageMagick pour la présentation en ligne
Si nécessaire, le chemin pour ImageMagick est standard puisqu'installé au travers du dépôt Debian:
/usr/bin
et pour le module Perl Image::Magick
:
/usr/local/bin/convert
ou sans préciser le chemin absolu:
$ perl -e 'use Image::Magick';
Toutes les commandes imagemagick sont sous /usr/bin/
:
/usr/bin/animate
/usr/bin/compare
/usr/bin/composite
/usr/bin/conjure
/usr/bin/convert
/usr/bin/display
/usr/bin/identify
/usr/bin/import
/usr/bin/mogrify
/usr/bin/montage
/usr/bin/stream
Ce guide détaille les erreurs de type "502 Bad Gateway" que l'on peut obtenir en visitant un site web.
Préambule
- L'erreur 502 Bad Gateway se produit lorsque le serveur qui fait office de passerelle entre le navigateur et le serveur Web d'origine reçoit une réponse invalide.
- Cette erreur peut être causée par un serveur web surchargé, des problèmes de communication entre un CDN et le serveur Web d'hébergement ou un serveur proxy mal configuré.
- Parfois, l'erreur peut être causée par une mauvaise entrée dans le serveur DNS.
Pistes de résolution
Pour résoudre l'erreur 502 Bad Gateway, il faut souvent procéder par élimination:
- Vérifiez s'il ne s'agit pas d'une surcharge momentanée du serveur: il suffit de recharger la page au bout de quelques minutes pour que l'erreur disparaisse.
- Effacez le cache du navigateur.
- Essayez depuis un autre navigateur.
Ce guide explique comment consulter l'activité des fichiers sur le serveur de votre hébergement Infomaniak.
Logs d'activité de l'espace FTP
Afin de connaitre l'activité des échanges sur votre espace FTP, contactez le support Infomaniak pour demander des logs FTP en vous authentifiant au préalable avec les identifiants correspondant à la gestion de votre hébergement Web.
Aide Ă la lecture des logs: http://www.castaglia.org/proftpd/doc/xferlog.html
Le propriétaire "site1xxx
" (p.ex site1152
, site1163
, site1184
…) apparait lorsque le compte utilisateur FTP qui avait créé les dossiers/fichiers en question a été supprimé de la liste des comptes utilisateur FTP.
Pour accéder à nouveau à ces fichiers afin de les modifier, il faut se connecter avec un compte FTP différent dans le gestionnaire de fichiers FTP Manager et modifier le propriétaire des fichiers avec le bouton "Propriétés".
Ce guide explique comment optimiser la mise en cache des ressources web grâce aux en-têtes HTTP.
Préambule
- Une bonne stratégie de cache permet d'améliorer significativement les performances de votre site en évitant de retransmettre inutilement des fichiers inchangés.
- La mise en cache web repose sur deux mécanismes complémentaires :
- La durée de validité du cache (via l'en-tête
Expires
) qui indique combien de temps une ressource peut être réutilisée sans contacter le serveur. - La validation conditionnelle (via les en-têtes
Last-Modified
/If-Modified-Since
) qui permet de vérifier si une ressource a changé avant de la retélécharger.
- La durée de validité du cache (via l'en-tête
Configuration de la durée de cache avec Expires
L'en-tĂŞte Expires
permet de spécifier une durée pendant laquelle le navigateur peut réutiliser directement les ressources depuis son cache local. Voici comment le configurer dans votre fichier .htaccess
:
- Créez ou ouvrez le fichier
.htaccess
à la racine de votre site (généralement dans/web
ou/sites/domain.xyz
). Ajoutez la configuration du module
expires
:<IfModule mod_expires.c>
Définissez les durées de cache appropriées pour chaque type de ressource :
ExpiresActive On ExpiresByType text/html "access plus 1 week" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month"
Ces directives signifient que :
- Les pages HTML seront conservées en cache pendant une semaine.
- Les images JPEG, fichiers CSS et JavaScript seront gardés pendant un mois.
Adaptez ces durées selon la fréquence de mise à jour de vos ressources.
Fermez la section de configuration :
</IfModule>
Validation conditionnelle avec Last-Modified
Même lorsqu'une ressource a expiré dans le cache, il n'est pas toujours nécessaire de la retélécharger complètement. Le mécanisme de validation conditionnelle permet au navigateur de vérifier si sa version en cache est toujours à jour. Ce processus fonctionne ainsi :
- Le serveur envoie automatiquement un en-tĂŞte
Last-Modified
avec chaque ressource, indiquant sa date de dernière modification.- Apache gère cela nativement pour les fichiers statiques - aucune configuration supplémentaire n'est nécessaire.
Lorsque le navigateur demande Ă nouveau la ressource, il envoie un en-tĂŞte
If-Modified-Since
contenant la date qu'il a en cache :GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
- Le serveur compare cette date avec la date réelle de modification du fichier :
- Si le fichier n'a pas changé, il renvoie simplement un code
304 Not Modified
, économisant ainsi de la bande passante. - Si le fichier a été modifié, il renvoie la nouvelle version avec un code
200 OK
.
- Si le fichier n'a pas changé, il renvoie simplement un code
Ce guide explique comment configurer les paramètres PHP des hébergements Web directement en ligne de commande lorsque vous exécutez des scripts PHP en utilisant PHP CLI (Interface de Ligne de Commande).
Préambule
- Ce type de paramétrage peut être utile lorsque vous devez modifier temporairement certains paramètres pour un script spécifique ou pour une session PHP.
- Ces modifications ne seront valables que pour l'exécution du script en cours et ne modifieront pas la configuration PHP globale.
Modifier les paramètres PHP CLI
Pour par exemple modifier temporairement les paramètres pour un script spécifique sans avoir à modifier la configuration PHP globale du serveur, suivez la méthode ci-dessous ; avec l'environnement PHP CLI vous pouvez spécifier plusieurs paramètres PHP en même temps en les séparant par des espaces.
Utiliser le paramètre -d
Lorsque vous exécutez PHP en ligne de commande, vous pouvez utiliser le paramètre -d
pour spécifier des configurations PHP. Cela vous permet de modifier les paramètres PHP pour cette exécution spécifique. Par exemple, pour définir le temps maximal d'exécution à 90 secondes, la limite de mémoire à 256 Mo et désactiver le mode sécurisé, vous pouvez le faire comme suit:
php -d max_execution_time=90 -d memory_limit=256M -d safe_mode=Off -f test.php