Investisseurs

Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Rechercher

Ce guide explique comment modifier une offre d'Hébergement Web existante afin de par exemple pouvoir y héberger des sites supplémentaires si le quota de sites maximum est atteint, ou obtenir une solution d'hébergement plus récente pour bénéficier des dernières versions de PHP & MySQL.

 

Préambule

  • Pour migrer un Serveur Cloud prenez connaissance de cet autre guide au sujet de la migration vers une nouvelle gĂ©nĂ©ration de Serveur Cloud.

 

Commander des sites, de l'espace disque ou des IP supplémentaires

Pour accéder au configurateur de l'hébergement Web:

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le menu d'action â‹® situĂ© Ă  droite de l'hĂ©bergement concernĂ©.
    • Si l'hĂ©bergement ne contient pas de site, cliquez sur son nom puis cliquez sur GĂ©rer.
  3. Cliquez sur Modifier l'offre:
  4. Augmentez les valeurs que vous souhaitez modifier.
  5. Cliquez sur le bouton Suivant pour accéder au paiement des modifications apportées à l'hébergement:

 

 

Passer sur un serveur le plus récent

Pour obtenir une solution d'hébergement sur un serveur plus récent et ainsi bénéficier entre autre des dernières versions de PHP & MySQL:

  • Prenez connaissance de cet autre guide : en le suivant et avant de rĂ©aliser l'Ă©tape du point 4, vous devriez voir sur votre Manager un bandeau informatif en haut de page ; cliquez sur le bouton de migration:
    • Si aucun bandeau d'information n'est affichĂ©, c'est que vous bĂ©nĂ©ficiez dĂ©jĂ  d'une offre d'hĂ©bergement rĂ©cente.

  • Vous pouvez aussi prendre connaissance de cet autre guide en suivant la procĂ©dure qui y est indiquĂ©e jusqu'au bout:

Lien vers cette FAQ: https://faq.infomaniak.com/626


Cette FAQ a été utile?

Ce guide explique le fonctionnement, la configuration et la gestion de ModSecurity sur les serveurs Infomaniak.

 

Préambule

  • ModSecurity (mod_secure) est disponible et activĂ© par dĂ©faut sur les serveurs Infomaniak :
    • Toutes les requĂŞtes HTTP seront soumises aux règles de sĂ©curitĂ© dĂ©finies par ModSecurity.
    • L'extension PHP uploadprogress n'est pas disponible sur les serveurs Infomaniak, car PHP est utilisĂ© dans sa version FPM.
  • Il n'est pas possible de dĂ©sactiver ModSecurity sur les serveurs Infomaniak :
    • Le paramètre est global au serveur oĂą votre site est hĂ©bergĂ©, ce qui signifie que toutes les règles de sĂ©curitĂ© dĂ©finies seront appliquĂ©es Ă  votre site.

 

En cas de problème

Erreur de langue (code 403)

Si le message d'erreur ModSecurity: Access denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. (...) s'affiche au sujet de ModSecurity, vous devriez vérifier qu'une langue par défaut soit bien configurée dans un navigateur comme Brave, Chrome, Edge, Firefox, Opera, Safari…. Cette erreur peut parfois être causée par des paramètres de langue mal configurés dans le navigateur.

Avertissement "Request body larger than configured limit"

Si vous constatez des messages concernant l'erreur ou l'avertissement Request body larger than configured limit, sachez qu'il s'agit uniquement d'un avertissement — la requête passe quand même et n'est pas bloquée. Cette configuration est propre à certaines anciennes générations d'hébergements (de type jessie) et laisse bien passer l'ensemble des requêtes sur le serveur sans impact pour vos visiteurs.

Lien vers cette FAQ: https://faq.infomaniak.com/2098


Cette FAQ a été utile?

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.

Lien vers cette FAQ: https://faq.infomaniak.com/487


Cette FAQ a été utile?

Ce guide explique comment résoudre un problème d'importation d'un fichier .csv dans une table MySQL. L'alternative proposée consiste à lire le fichier CSV ligne par ligne avec 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 directement dans une table MySQL. Cependant, cette fonctionnalité est souvent exploitée par des attaquants pour obtenir un accès non autorisé à des sites hébergés sur des serveurs qui l'acceptent.

Afin de prévenir tout risque de sécurité et de protéger les données des clients, Infomaniak a désactivé la fonction LOAD DATA LOCAL INFILE. Les utilisateurs qui importent leurs fichiers CSV via phpMyAdmin (sans cocher l'option “CSV via LOAD DATA”) ne sont pas concernés.

Voici une méthode alternative pour importer des données au format CSV dans une table MySQL. L'exemple ci-dessous montre comment gérer correctement les erreurs lors de l'ouverture du fichier CSV et de l'insertion des données dans la base de données.

Ce script utilise mysqli pour se connecter à la base et des requêtes préparées pour insérer les données. Cela garantit une meilleure sécurité, une compatibilité optimale avec les versions récentes de PHP et une intégration simple dans votre projet, que ce soit dans un script existant ou un nouveau fichier situé dans le répertoire /web :

$fileName = "data.csv";

// Connect to MySQL database using mysqli
$link = new mysqli("localhost", "username", "password", "database");

// Check database connection
if ($link->connect_error) {
   die("Connection failed: " . $link->connect_error);
}

// Open the CSV file for reading
if (($handle = fopen($fileName, "r")) !== FALSE) {

   // Read each line of the CSV file
   while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {

       // Prepare the SQL query dynamically
       $query = "INSERT INTO `test` VALUES (" . str_repeat('?,', count($data) - 1) . "?)";
       $stmt = $link->prepare($query);

       // Check if query preparation was successful
       if ($stmt === FALSE) {
           die("Query preparation failed: " . $link->error);
       }

       // Bind parameters (assuming all columns are strings)
       $types = str_repeat('s', count($data));
       $stmt->bind_param($types, ...$data);

       // Execute the query
       if (!$stmt->execute()) {
           die("Query execution failed: " . $stmt->error);
       }

       // Close the statement
       $stmt->close();
   }

   // Close the CSV file
   fclose($handle);

} else {
   echo "Error: unable to open the file.\n";
   exit(1);
}

// Close the database connection
$link->close();
?>

 

Obtenir de l'aide

Il est malheureusement impossible d'indiquer précisément à quel endroit du script ces lignes de code doivent être insérées.

Si cette méthode pose problème (par exemple en cas d'import simultané de plusieurs fichiers CSV sans message d'erreur), il est possible que la structure des tables ou l'indexation des champs soit en cause. Dans ce cas, contactez votre webmaster pour vérification.

Consultez également la documentation officielle PHP relative à la fonction fgetcsv().

Lien vers cette FAQ: https://faq.infomaniak.com/1312


Cette FAQ a été utile?

Ce guide explique comment transférer vers Infomaniak des données Web (site, FTP, bases de données) actuellement hébergées par Swisscom, qui a mis fin à son offre d'hébergement au mois de mai 2024. De plus, Infomaniak vous offre la première année d'hébergement Web + Mail (en savoir plus) !

 

Prérequis

  • PossĂ©der un hĂ©bergement Web Infomaniak (commander si nĂ©cessaire).
  • Ajouter un site vierge sur l'hĂ©bergement Infomaniak.
  • Si vous utilisez une interface WordPress pour gĂ©rer votre site chez Swisscom, prenez connaissance de cet autre guide illustrant une mĂ©thode simplifiĂ©e.

 

Transférer le site de Swisscom à Infomaniak

Pour récupérer tout autre site, créé avec HomepageTool ou pas, suivre la procédure ci-dessous.

 

1. Récupérer les données Web chez Swisscom

a. Fichiers HTML, PHP, etc. par FTP

Pour récupérer sur votre disque dur des données Web il faut se connecter par FTP avec un logiciel/client FTP comme Filezilla (gratuit). Pour cela, il faut l'adresse du serveur Swisscom, le nom d'utilisateur et mot de passe FTP. Si vous n'avez pas ces données sous la main:

  1. Connectez-vous au Control Panel HCP Swisscom (login.hostcenter.com) depuis un navigateur comme Brave, Chrome, Edge, Firefox, Opera, Safari….
  2. Cliquez sur Gérer le compte:
  3. Cliquez sur Comptes FTP (dans la partie Stockage de données):
  4. Cliquez sur Ajouter pour créer un compte FTP si nécessaire:
  5. Ouvrez un logiciel/client FTP comme Filezilla.
  6. Connectez-vous au serveur Swisscom avec les informations FTP obtenues au point 3 ci-dessus.
  7. Téléchargez les fichiers correspondant à votre site Swisscom vers votre disque dur.

 

b. Export des bases de données MySQL

A moins que votre site soit statique et simplement en HTML, un site dynamique requiert la plupart du temps des bases de données qu'il faut exporter depuis leur interface d'administration, PHPmyAdmin:

  1. Connectez-vous au Control Panel HCP Swisscom (login.hostcenter.com) depuis un navigateur.
  2. Cliquez sur Bases de données > MySQL depuis le menu principal.
  3. Cliquez sur Modifier à droite de la base de données correspondante:
  4. Cliquez (étape facultative) sur le bouton bleu Ajouter un nouvel utilisateur de base de données pour créer un utilisateur et un mot de passe qui aura accès à la base de données.
  5. Cliquez sur le lien bleu URL Web-Admin pour accéder à PHPMyAdmin:
  6. Connectez-vous au serveur Swisscom avec les informations MySQL habituelles ou obtenues au point 4 ci-dessus.
  7. Cliquez sur Exporter pour paramétrer l'exportation de la base de données.
  8. Cliquez sur Go pour télécharger vos données SQL sur votre disque dur:

 

2. Envoyer les données Web sur Infomaniak

a. Fichiers HTML, PHP, etc. par FTP

Accédez à l'hébergement Web Infomaniak et activez la partie FTP:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au produit concernĂ©.
  3. Cliquez sur FTP / SSH dans le menu latéral gauche.
  4. Cliquez sur le bouton Ajouter pour créer un nouveau compte FTP / SSH (❓: aide).
  5. Ouvrez un logiciel/client FTP comme Filezilla.
  6. Connectez-vous au serveur Infomaniak avec les informations FTP obtenues au point 4 ci-dessus.
  7. Transférez les fichiers du disque dur (obtenus au point 1.a.5) vers le serveur dans le dossier correspondant à votre site chez Infomaniak.

b. Import des bases de données MySQL

Accédez à l'hébergement Web Infomaniak et activer la partie MySQL:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au produit concernĂ©.
  3. Cliquez sur Bases de données dans le menu latéral gauche.
  4. Cliquez sur le bouton Ajouter.
  5. Entrez un nom de base de données après le préfixe déjà renseigné.
  6. Cliquez sur la case pour Créer un utilisateur associé.
  7. Entrez un nom d'utilisateur après le préfixe déjà renseigné.
  8. Entrez un mot de passe.
  9. Cliquez sur Valider.
  10. Cliquez sur le bouton bleu Importer.
  11. Cliquez sur Sélectionner un fichier.
  12. Sélectionnez les fichiers SQL sur le disque dur (obtenus au point 1.b.6).
  13. Choisissez comme destination la base de données créée au point 5 ci-dessus.
  14. Cliquez sur le bouton bleu Importer.

c. Adapter le site pour la nouvelle infrastructure

Si vous utilisez une application comme WordPress, Joomla, Drupal ou une autre application Web (ownCloud, phpBB, etc.) utilisant une base de donnĂ©es, adaptez les informations suivantes dans le fichier de configuration adĂ©quat Ă  partir des informations disponibles sur le Manager pour que votre site fonctionne:

  • le nom de la base de donnĂ©es
  • le serveur de la base de donnĂ©es
  • le nom d'utilisateur qui accède Ă  la base de donnĂ©es
  • le mot de passe du nom d'utilisateur qui accède Ă  la base de donnĂ©es

Prenez connaissance de ces autres guides pour adapter le fichier de configuration: WordPress et Joomla.

 

En savoir plus

Lien vers cette FAQ: https://faq.infomaniak.com/2851


Cette FAQ a été utile?

Ce guide donne des indications pour créer une infrastructure haute disponibilité multi-datacenters avec Jelastic Cloud.

 

Préambule

  • Le principe d'une infrastructure haute disponibilitĂ© multi-datacenters est de rĂ©pliquer tous les Ă©lĂ©ments nĂ©cessaires (serveur Web, serveur de bases de donnĂ©es et load balancer) dans un autre datacenter pour assurer le fonctionnement de vos sites et apps en cas d'imprĂ©vu (pics de charge, panne matĂ©rielle, panne rĂ©seau, etc.).
  • Les avantages d'une infrastructure haute disponibilitĂ© multi-datacenters sont nombreux:
    • En cas d'imprĂ©vu sur un serveur, un autre serveur prend immĂ©diatement le relai ; vos sites et apps restent accessibles.
    • En cas de perturbation avec un composant d'un datacenter, l'infrastructure rĂ©pliquĂ©e dans l'autre datacenter et prend immĂ©diatement le relai ; vos sites et apps restent accessibles.
    • En cas de pics de charge importants, le trafic est rĂ©parti entre les deux infrastructures par des rĂ©partiteurs de charge (load balancers) ; vos sites et apps restent accessibles et rapides.

 

Mise en place d'une infra haute disponibilité avec Jelastic Cloud

Pour les besoins de cet exemple, 2 serveurs Web avec 2 load balancers seront mis en place, chacun de ces éléments étant hébergé en Suisse dans un datacenter d'Infomaniak différent.

Avant de poursuivre, connectez-vous Ă  l'interface d'administration de votre serveur Jelastic Cloud :

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez sur Se connecter Ă  Jelastic Cloud:

 

1. Création des serveurs Web

Un serveur Web héberge le contenu de vos sites (les fichiers php, images, pdf, etc.).

Voici les actions à effectuer pour créer premier serveur :

  1. Cliquez sur Nouvel environnement.
  2. Cliquez sur l'onglet PHP.
  3. Dans App. Serveurs, choisissez par ex. un serveur Apache.
  4. Adaptez les ressources de l'environnement selon vos besoins.
  5. Choisissez Genève DC2 pour la localisation du serveur.
  6. Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC2-apache).
  7. Cliquez sur Créer.

Créer ensuite le deuxième serveur Web dans un autre datacenter :

  1. Cliquez sur Nouvel environnement.
  2. Cliquez sur l'onglet PHP.
  3. Dans App. Serveurs, choisissez par exemple un serveur Apache.
  4. Adaptez les ressources de l'environnement selon vos besoins.
  5. Choisissez Genève DC3 pour la localisation du serveur.
  6. Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC3-apache).
  7. Cliquez sur Créer.

 

2. Création des répartiteurs de charge (load balancers)

Un répartiteur de charge permet de distribuer la charge et le trafic de vos sites entre vos serveurs Web.

Voici les actions à effectuer pour créer premier serveur :

  1. Cliquez sur Nouvel environnement.
  2. Cliquez sur l'onglet PHP.
  3. Dans Equilibrage, choisissez par exemple un serveur NGINX.
  4. Adaptez les ressources de l'environnement selon vos besoins.
  5. Choisissez Genève DC2 pour la localisation du serveur.
  6. Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC2-nginx).
  7. Cliquez sur Créer.

Créer ensuite le deuxième load balancer dans un autre datacenter :

  1. Cliquez sur Nouvel environnement.
  2. Cliquez sur l'onglet PHP.
  3. Dans Equilibrage, choisissez par exemple un serveur NGINX.
  4. Adaptez les ressources de l'environnement selon vos besoins.
  5. Choisissez Genève DC3 pour la localisation du serveur.
  6. Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC3-nginx).
  7. Cliquez sur Créer.

 

3. Configuration des répartiteurs de charge et du nom de domaine

À présent, il ne reste plus qu'à indiquer aux load balancers sur quels serveurs Web ils doivent distribuer le trafic.

Commencez par créer le fichier load-balancer.conf sur les deux load balancers :

  1. Connectez-vous en SSH sur le serveur DC2-nginx en cliquant sur le bouton Web SSH de l'environnement.
  2. Ouvrez le fichier load-balancer.conf : nano /etc/nginx/conf.d/load-balancer.conf.
  3. Adaptez le code du fichier avec l'URL de vos serveurs Web :
    • http {
      upstream backend {
      server apache-dc2.jcloud-ver-jpc.ik-server.com;
      server apache-dc3.jcloud.ik-server.com;
      }
      server {
      listen 80;
      location / {
      proxy_pass http://backend;
      }
      }
      }
  4. Répétez ces 3 étapes pour le serveur DC3-nginx.

Modifier ensuite le fichier de configuration des load balancers :

  1. Connectez-vous en SSH sur le serveur DC2-nginx en cliquant sur le bouton Web SSH de l'environnement.
  2. Créez le fichier de configuration suivant : nano /etc/nginx/nginx.conf.
  3. Adaptez l'URL du fichier de configuration du serveur :
    • user nginx;
      worker_processes auto;
      worker_rlimit_nofile 2048;
      load_module modules/ngx_stream_module.so;
      #load_module modules/ngx_http_modsecurity_module.so;
      error_log /var/log/nginx/error_log info;
      events {
      worker_connections 2048;
      use epoll;
      }
      include /etc/nginx/conf.d/load-balancer.conf;
  4. Redémarrez le service NGINX : sudo /etc/init.d/nginx restart.
  5. Répétez ces quatre étapes pour le serveur DC3-nginx.

 

Il est maintenant nécessaire d'indiquer à votre nom de domaine sur quels serveurs le trafic doit être redirigé.

Au préalable, installez une adresse IP publique sur vos répartiteurs de charge :

  1. Déployez le noeud du serveur DC2-nginx.
  2. Passez la souris sur la ligne IP publique et cliquez sur le + qui apparaît à droite.
  3. Ajoutez une IPv4 publique.
  4. Répétez ces 3 étapes pour le serveur DC3-nginx.

À ce stade, il ne vous reste plus que de créer deux enregistrements A dans la zone DNS de votre nom de domaine avec l'IP publique de vos deux répartiteurs de charge.

Afin que les changements soient rapidement pris en compte, il est recommandé de configurer les enregistrements A avec un TTL de 5 minutes.

Dans cet exemple, le domaine redirige donc vos visiteurs sur les load balancers qui redirigent Ă  leur tour le trafic vers les serveurs Web.

 

4. Test de l'infrastructure haute disponibilité

Afin de tester le bon fonctionnement de votre infrastructure, saisissez votre nom de domaine dans un navigateur comme Brave, Chrome, Edge, Firefox, Opera, Safari… et essayez tour à tour de désactiver un élément de votre infrastructure (un des deux load balancers, un des deux serveurs Web). Si tout fonctionne, vous devriez toujours accéder au contenu hébergé sur l'un des deux serveurs Web.

Attention: la réplication des données entre les serveurs Web ou des serveurs de bases de données doit être mise en place par vos soins.

Lien vers cette FAQ: https://faq.infomaniak.com/2401


Cette FAQ a été utile?

Ce guide explique comment ajouter des adresses IP Ă  la liste blanche d'un site chez 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 :

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le nom du site concernĂ©.
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur l'onglet PHP / Apache:
  5. Complétez la ligne concernée.
  6. Cliquez sur le bouton Enregistrer en bas de page:

Lien vers cette FAQ: https://faq.infomaniak.com/2577


Cette FAQ a été utile?

Ce guide vous aide à mettre en place l'en-tête "Access-Control-Allow-Origin", un header HTTP qui spécifie quelle origine (domaine, protocole et port) peut accéder aux ressources sur un serveur. Cet en-tête est utilisé pour contrôler l'accès en cross-origin (CORS) à partir d'une application Web.

 

Liste des domaines autorisés

Vous pouvez ajouter l'origine d'une requête à la liste des domaines autorisés à accéder aux ressources du serveur en l'ajoutant aux valeurs de l'en-tête Access-Control-Allow-Origin.

Pour autoriser par exemple le site https://domain.xyz à accéder aux ressources avec CORS, le header doit être comme suit:

Access-Control-Allow-Origin: https://domain.xyz

Vous pouvez le régler via la fonction header() de PHP en vous inspirant de ce guide notamment.

Si vous avez besoin que cet en-tête soit appliqué partout, vous pouvez passer par un auto-prepend.

Lien vers cette FAQ: https://faq.infomaniak.com/256


Cette FAQ a été utile?

Ce guide détaille les règles spécifiques à respecter lors de la création d'un mot de passe utilisateur avec mysqli_connect() qui contient le caractère “dollar” $ sur les plateformes Infomaniak.

 

Préambule

  • Si lors de l'utilisation de mysqli_connect(),  vous obtenez le message d'erreur "Access denied for user" et que votre mot de passe d'utilisateur de base de donnĂ©es contient un signe $, le problème peut venir du fonctionnement des chaĂ®nes de caractères en PHP.
  • Le problème peut Ă©galement survenir avec des scripts de messagerie.

 

Règles à respecter

Lorsque est utilisé le caractère spécial $ dans un mot de passe utilisateur et que celui-ci est suivi par tout autre caractère qu'un nombre, le nom de la variable n'est pas valide et la substitution ne se fait pas correctement.

Voici des solutions pour corriger cela:

  • Placez le mot de passe entre guillemets simples : '$******'
  • Assurez-vous qu'un nombre suit directement le dollar :  "$2*****"
  • Utilisez un anti-slash pour "Ă©chapper" le dollar dans le mot de passe : “\$****”

Lien vers cette FAQ: https://faq.infomaniak.com/2559


Cette FAQ a été utile?

Ce guide prĂ©sente Jelastic Cloud qui est le fruit d'une Ă©troite collaboration entre Infomaniak et l'entreprise Jelastic (Virtuozzo).

 

Infomaniak

Infomaniak assure l'infrastructure, le support, et la performance, la sécurité, et la fiabilité de la solution. Son infrastructure garantit toujours la disponibilité et la fluidité des applications, répondant aux pics de trafic et réduisant automatiquement la consommation des ressources pendant les périodes creuses. Cette flexibilité optimise le rapport coûts/performances en ne comptabilisant que les ressources réellement utilisées.

Avec ce service Cloud, les ressources informatiques s'ajustent aux fluctuations de la demande tout en conservant une maîtrise budgétaire. Toutes les données sont gérées en Suisse dans les datacenters d'Infomaniak, avec un support disponible en cinq langues.

 

Jelastic

Jelastic assure la maintenance, le développement logiciel et fournit la partie logicielle du produit.

Fondée en 2011, Jelastic automatise la création, le redimensionnement, le clustering et les mises à jour de sécurité des applications traditionnelles et natives dans le Cloud. Elle prend également en charge les environnements Java, PHP, Ruby, Node.js, Python, .NET, Go, ainsi que le cluster Docker.

Lien vers cette FAQ: https://faq.infomaniak.com/2260


Cette FAQ a été utile?

Ce guide détaille les protocoles de transfert de fichiers acceptés sur les Hébergement Web et Serveur Cloud Infomaniak lors de connexion aux serveurs ProFTPD.

 

Préambule

  • Avec un hĂ©bergement Starter (page Web basique), seule une connexion FTP sur le port 21 (sans SSL/TLS) est possible.
  • Lors de la crĂ©ation d'un site via un hĂ©bergement Apache / PHP, un accès aux fichiers est possible via diffĂ©rents protocoles (FTP, SFTP, SSH).
  • Avec un site Node.js, seuls SSH / SFTP sont possibles pour accĂ©der Ă  votre environnement.

 

FTP (File Transfer Protocol)

Les connexions FTP en mode "actif" et "passif" sont supportées (alternez entre les 2 pour tenter de résoudre un éventuel problème).

Infomaniak ouvre les ports passifs de son côté [PassivePorts 42000 44000] mais uniquement pour les connexions vers son serveur FTP. Le mode FTP passif implique l'utilisation de ports distants définis par le serveur distant, ainsi que de ports locaux qui peuvent varier en fonction du logiciel/client FTP utilisé.

Le mode passif s'avère utile principalement lorsque le logiciel/client FTP est derrière un pare-feu ou un routeur NAT qui bloque les connexions FTP actives. Cependant, dans l'infrastructure Infomaniak sont autorisées les connexions FTP actives, ce qui signifie que le recours au mode passif n'est généralement pas nécessaire.

En ce qui concerne PHP, il n'est pas possible, par défaut, de gérer cette configuration de manière centralisée. Par conséquent, il n'est pas viable pour Infomaniak d'ouvrir tous les ports pour prendre en charge toutes les configurations distantes, car cela ne serait ni pratique ni sécurisé.

Dans l'ensemble, l'infrastructure ne prend pas en charge à 100% les connexions FTP sortantes en mode passif. Pour une expérience de transfert de fichiers plus fluide, il est recommandé d'utiliser le mode FTP actif ou d'explorer des technologies plus modernes telles que SFTP (lire ci-dessous).

 

SFTP (SSH File Transfer Protocol)

CrĂ©er des connexions SFTP garantit une sĂ©curitĂ© Ă©levĂ©e des transferts de fichiers. Assurez-vous d'avoir activĂ© SSH sur votre logiciel/client SFTP et utilisez le port 22 pour la connexion : sftp://*****.

 

FTPES (FTP sécurisé avec TLS/SSL)

Utilisez FTPES pour des transferts de fichiers sĂ©curisĂ©s avec le port 21 et l'encryption SSL/TLS. Avec le logiciel Filezilla par exemple, sĂ©lectionnez "Connexion FTP explicite sur TLS" pour configurer votre logiciel/client FTPES : ftpes://*****.

 

FTPaccess

L'accès à la configuration FTPaccess est disponible.

 

Ce qui n'est pas pris en charge‍

Utilisateur Public/Anonymous

Il n'est pas autorisé de se connecter en tant qu'utilisateur public ou anonyme. Vous devez disposer d'un compte d'utilisateur valide pour accéder à votre espace d'hébergement.

FTPs (FTP sécurisé sur un port personnalisé)

Le protocole FTPs n'est pas pris en charge, ce qui signifie que le port 2121 n'est pas ouvert pour ce type de connexion.

Lien vers cette FAQ: https://faq.infomaniak.com/446


Cette FAQ a été utile?

Ce guide présente plusieurs exemples d'utilisation de Varnish sur Serveur Cloud Infomaniak.

 

Préambule

  • Consultez ces ressources complĂ©mentaires sur le langage de configuration Varnish (VCL) pour maĂ®triser le traitement des requĂŞtes, le routage et la mise en cache :

 

Configuration de Varnish

Une fois installé, la configuration de Varnish repose sur des règles précises de mise en cache et de purge. Veillez à restreindre l'accès pour éviter que des entités non autorisées puissent vider votre cache.

Voici un exemple de fichier de configuration regroupant les cas d'usage les plus fréquents :

vcl 4.0;

# Default backend configuration
backend default {
    .host = "127.0.0.80";  # Backend IP address
    .port = "80";           # Backend port
}

# Access Control List (ACL) for purge authorization
acl purge {
    "localhost";            # Local access
    "1.2.3.4";              # Trusted home IP
    "42.42.42.0"/24;        # Trusted company range
    ! "42.42.42.7";         # Specific IP exclusion (e.g., problematic user)
}

# Handle incoming requests
sub vcl_recv {
    # Handle PURGE requests
    if (req.method == "PURGE") {
        # Check if client IP is authorized
        if (!client.ip ~ purge) {
            return (synth(405, "IP not authorized for PURGE requests."));
        }
        return (purge);
    }

    # Custom PURGEALL for image directory
    if (req.method == "PURGEALL" && req.url == "/images") {
        if (!client.ip ~ purge) {
            return (synth(405, "IP not authorized for PURGEALL requests."));
        }
        # Invalidate all image-related objects in cache
        ban("req.url ~ \.(jpg|png|gif|svg)$");
        return (synth(200, "Images purged."));
    }

    # Bypass cache for authorized requests (e.g., admin panels)
    if (req.http.Authorization) {
        return (pass);
    }
}

# Handle backend responses before caching
sub vcl_backend_response {
    # Set TTL for images to 1 day
    if (beresp.http.content-type ~ "image") {
        set beresp.ttl = 1d;
    }

    # Respect backend's "uncacheable" instruction
    if (beresp.http.uncacheable) {
        set beresp.uncacheable = true;
    }
}

 

Purge via l'interface CLI

Dès lors que vos règles sont actives, vous pouvez tester la purge de votre site (ex: "domain.xyz") en utilisant l'outil curl :

# Purge the homepage
$ curl -X PURGE https://domain.xyz/

# Expected Varnish response
<!DOCTYPE html>
<html>
<head>
    <title>200 Purged</title>
</head>
<body>
    <h1>Success 200: Purge completed</h1>
    <p>The page has been successfully purged.</p>
    <h3>Guru Meditation:</h3>
    <p>XID: 2</p>
    <hr>
    <p>Varnish Cache Server</p>
</body>
</html>

Pour purger une URL spécifique, modifiez simplement le chemin de la requête :

# Purge a specific file
$ curl -X PURGE https://domain.xyz/some_path/some_file.html

# Expected Varnish response
<!DOCTYPE html>
<html>
<head>
    <title>200 Purged</title>
</head>
<body>
    <h1>Success 200: Purge completed</h1>
    <p>The file has been successfully purged.</p>
    <h3>Guru Meditation:</h3>
    <p>XID: 4</p>
    <hr>
    <p>Varnish Cache Server</p>
</body>
</html>

Ou pour déclencher la purge groupée des images définie dans le VCL :

# Execute PURGEALL for images
$ curl -X PURGEALL https://domain.xyz/images

# Expected Varnish response
<!DOCTYPE html>
<html>
<head>
    <title>200 Purged images</title>
</head>
<body>
    <h1>Success 200: Images purged</h1>
    <p>All images have been successfully purged.</p>
    <h3>Guru Meditation:</h3>
    <p>XID: 32770</p>
    <hr>
    <p>Varnish Cache Server</p>
</body>
</html>

 

Purge depuis un CMS (PHP)

La gestion du cache peut aussi se faire dynamiquement via votre backend. Dans la configuration précédente, un contrôle sur l'en-tête Uncacheable a été ajouté. Votre CMS peut envoyer cet en-tête pour forcer Varnish à ne pas stocker une réponse.

Voici comment envoyer une requĂŞte de purge programmatique en PHP :

<?php
// Initialize cURL for a specific URL
if ($curl = curl_init("http://127.0.0.1/some_url")) {
    curl_setopt_array($curl, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_CUSTOMREQUEST => "PURGE",
        CURLOPT_HTTPHEADER => [
            "Host: {$_SERVER['HTTP_HOST']}" // Match the target host
        ]
    ]);

    curl_exec($curl);
    
    // Check if the purge was successful (HTTP 200)
    if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200) {
        echo "Cache purged!";
    }
    curl_close($curl);
}
?>

Lien vers cette FAQ: https://faq.infomaniak.com/2592


Cette FAQ a été utile?

Ce guide s'adresse aux développeurs souhaitant utiliser l'ORM Propel sur un hébergement où l'accès ligne de commande est restreint.

 

Préambule

  • L'ORM permet de lier les objets d'une application aux tables d'une base de donnĂ©es. On manipule les donnĂ©es via des objets PHP plutĂ´t que d'Ă©crire du SQL brut.
  • Propel est la couche d'abstraction qui gère ces interactions (relations, jointures, pagination) pour simplifier la maintenance du code.

 

Particularités & limitations

  • Propel n'est pas prĂ©installĂ© via Pear.
    • Vous devez l'installer manuellement dans votre projet.
    • Il est impĂ©ratif de tĂ©lĂ©charger la version "Conventional Package" de Propel.
  • Les commandes CLI (comme propel-gen) ne sont pas exĂ©cutables sur le serveur.
    • En consĂ©quence, Propel ne s'utilise qu'en mode "Runtime" sur la production. La gĂ©nĂ©ration des classes (build) doit ĂŞtre effectuĂ©e localement.
    • Le workflow consiste Ă  gĂ©nĂ©rer le code sur un environnement de dĂ©veloppement, puis Ă  transfĂ©rer les fichiers rĂ©sultants vers le serveur.
  • DĂ©pendances:
    • L'ensemble des librairies nĂ©cessaires Ă  Propel est disponible, Ă  l'exception de Phing.
    • L'absence de Phing n'impacte pas la production, car cet outil est uniquement requis lors de la phase de gĂ©nĂ©ration locale.

Lien vers cette FAQ: https://faq.infomaniak.com/1142


Cette FAQ a été utile?

Ce guide explique comment prévenir les attaques informatiques et comment éviter un piratage du site que vous gérez.

Utilisateurs WordPress: prenez connaissance de cet article dédié.

 

Le rôle de l'hébergeur

Le travail d'Infomaniak consiste à fournir un hébergement de qualité donc il est primordial de répondre extrêmement vite aux attaques diverses et variées dont tout acteur Internet peut être l'objet. Infomaniak fait donc tout son possible pour prendre le maximum de précautions contre le hacking, notamment en tenant à jour les différentes versions des technologies utilisées.

Dans le cas d'un piratage avéré, s'il est possible de remonter jusqu'à l'auteur et que la machine a été compromise en raison d'un défaut de sécurité du ressort d'Infomaniak, que l'intégrité des serveurs est en cause, Infomaniak prend les choses en main elle-même.

 

Le rôle du détenteur de site et du webmaster

Si le piratage de votre site est de votre responsabilité (un script qui n'est pas à jour, un patch de sécurité qui n'a pas été appliqué, etc.) Infomaniak vous contacte afin de vous avertir d'un problème qu'il faudra résoudre rapidement. Certains organismes comme Saferinternet peuvent en outre suspendre le nom de domaine en amont ce qui désactivera le site mais également la messagerie.

Infomaniak ne peut pas contrer des exploits en rapport avec un bug dans votre code PHP ou autre. Si le piratage n'est pas détecté vous constaterez en général l'intrusion assez rapidement par des éléments suspects dans vos pages ou par la réception de nombreux e-mails d'erreurs.

Il est donc de votre responsabilitĂ© de vous occuper de l'Ă©volution de votre site au fil du temps et de ne surtout pas le laisser "mourir" dans un coin, quitte Ă  faire appel Ă  un webmaster dont c'est le mĂ©tier. 

 

Les recommandations Infomaniak

  1. Mettez à jour régulièrement toutes vos applications Web (WordPress, Joomla, Drupal, ownCloud, etc.).
  2. Tenez Ă  jour la version PHP de votre site sur les serveurs Infomaniak.
  3. Tenez à jour votre site en migrant vers les nouvelles offres lorsque cela vous est proposé.
  4. ‍Ajoutez un système de protection sur vos formulaires de contact (captcha, etc.) et sur les éventuels outils de "recommandation aux amis" (tell-a-friend...).
  5. Lancez régulièrement une analyse antivirus de l'hébergement.
  6. Surveillez l'outil de détection de vulnérabilités.
  7. Retirez tout ce que vous n'avez pas développé vous-même et dont l'auteur n'a pas apporté de mise à jour / correction depuis plusieurs mois.
  8. Réalisez une sauvegarde régulière de votre site (prenez connaissance de cet autre guide si vous utilisez WordPress) lorsque tout va bien et conservez-la en lieu sûr (car les sauvegardes automatiques ne sont conservées que quelques jours et cela n'est parfois pas assez lointain pour revenir en arrière après que vous constatiez une intrusion).
  9. Consultez ibarry.ch.

 

Si un problème est apparu...

  1. Modifiez les mots de passe de vos applications Web, de vos comptes FTP et de vos bases de données en vérifiant préalablement qu'aucun virus ne se trouve sur votre ordinateur.
  2. Restaurez une sauvegarde mais mettez à jour immédiatement ce qui peut être mis à jour dès la restauration terminée.
  3. Si vous rencontrez un problème avec un logiciel tiers, contactez directement son éditeur ou un Partenaire et consultez la politique de support ainsi que l'article 11.9 des CGU Infomaniak.

Prenez connaissance de ces recommandations supplémentaires !

Lien vers cette FAQ: https://faq.infomaniak.com/1214


Cette FAQ a été utile?

Ce guide permet de résoudre un problème sur le CMS Prestashop v9.x concernant la génération de factures PDF depuis le panneau d'administration (Back Office), particulièrement lorsque la langue française est utilisée.

 

Le problème

Lors de la tentative de visualisation ou de téléchargement d'une facture PDF pour une commande en langue française, PrestaShop (en version 9.x) retourne une Erreur 500. Ce dysfonctionnement est lié à une incompatibilité entre la librairie de génération de PDF (TCPDF) utilisant la police par défaut (helvetica) et les configurations d'hébergement.

 

Définir une police compatible

La solution consiste à forcer l'utilisation de la police freesans, plus compatible, via un fichier de configuration personnalisé.

Il est fortement recommandé de créer un fichier defines_custom.inc.php. Cette méthode est la plus sûre car elle assure que la correction ne sera pas perdue lors des mises à jour du cœur de PrestaShop.

Pour cela:

  1. Accédez à votre installation PrestaShop 9.x via FTP ou le Gestionnaire de fichiers.
  2. Naviguez jusqu'au répertoire /config/.
  3. Créez un nouveau fichier nommé defines_custom.inc.php.
  4. Éditez le fichier defines_custom.inc.php et ajoutez le contenu suivant:

    <?php
    /**
     * Avoid error PDF, force font 'freesans'.
     */
    define('PDF_FONT_NAME_MAIN', 'freesans');
  5. Enregistrez le fichier et testez la génération d'une facture en français.

Lien vers cette FAQ: https://faq.infomaniak.com/2690


Cette FAQ a été utile?

Ce guide explique comment consulter et télécharger les journaux Apache d'Hébergement Web, utiles notamment pour analyser des erreurs PHP ou diagnostiquer certains comportements applicatifs.

 

Préambule

  • Les journaux d'accès et d'erreurs sont conservĂ©s au moins 7 jours.
  • Une fois la pĂ©riode de rĂ©tention Ă©coulĂ©e, les entrĂ©es plus anciennes ne peuvent pas ĂŞtre restaurĂ©es, mĂŞme sur demande.
  • Vous pouvez Ă©galement retrouver ces fichiers directement sur le serveur via SSH/FTP dans le dossier ik-logs Ă  la racine de votre hĂ©bergement.

 

AccĂ©der aux journaux d'accès et d'erreurs

Pour afficher ces logs:

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le nom du site concernĂ©.
  3. Cliquez sur Avancé dans le panneau latéral gauche.
  4. Cliquez sur Journaux dans le panneau latéral gauche.
  5. Cliquez sur Erreurs ou Accès pour afficher le journal d'erreurs ou journal d'accès.
  6. Choisissez une période si nécessaire.
  7. Cliquez sur l'icône pour voir les détails.
  8. Cliquez sur Envoyer par mail pour recevoir immédiatement la totalité des entrées par mail à votre adresse utilisateur.
  9. Cliquez pour exporter les données au format .log:

 

Identifier les adresses IP les plus actives dans les logs d'accès

Pour cela, connectez-vous sur le serveur en SSH (besoin d'aide ?).

La ligne à exécuter en SSH est la suivante :

cat ik-logs/access.log | awk '{ print $2}' | sort -n | uniq -c | sort -n | tail -n 20

Lien vers cette FAQ: https://faq.infomaniak.com/1926


Cette FAQ a été utile?

Ce guide concerne Jelastic Cloud qui permet de crĂ©er en un clic des conteneurs prĂ©configurĂ©s pour Java, PHP, Ruby, Node.js, Python et Go. Vous avez Ă©galement la possibilitĂ© de dĂ©ployer n'importe quel conteneur Docker personnalisĂ© dans le Cloud. 

 

Préambule

  • Dans le contexte de Jelastic, un conteneur ou nĹ“ud fait rĂ©fĂ©rence Ă  une unitĂ© d'isolation et d'exĂ©cution dans laquelle vos applications sont dĂ©ployĂ©es et exĂ©cutĂ©es, tout en bĂ©nĂ©ficiant des ressources fournies par le nĹ“ud sur lequel elles sont placĂ©es.
  • Cela permet une gestion efficace des applications et une optimisation des ressources en fonction des besoins de votre projet. 

 

Conteneur

Dans Jelastic, un conteneur est un environnement d'exécution virtuel qui isole vos applications et leurs dépendances du reste du système. Il peut s'agir d'un conteneur Docker ou d'un autre type de conteneur supporté par Jelastic.

Chaque conteneur agit comme une unité distincte, ce qui signifie que vous pouvez exécuter plusieurs applications dans différents conteneurs sans qu'elles interfèrent les unes avec les autres.

 

Noeud

Un nœud est une instance de serveur virtuel ou physique sur lequel un ou plusieurs conteneurs peuvent être déployés. En d'autres termes, un nœud est une machine virtuelle ou physique qui fournit les ressources (comme le CPU, la mémoire, le stockage, etc.) nécessaires pour exécuter vos applications.

Jelastic distribue automatiquement les conteneurs sur différents nœuds en fonction de la charge et des ressources disponibles pour garantir des performances optimales et une haute disponibilité.

Lien vers cette FAQ: https://faq.infomaniak.com/2254


Cette FAQ a été utile?

Ce guide explique comment utiliser le gestionnaire de fichiers Web FTP qui permet de gérer de façon simple et rapide le contenu de vos Hébergements Web.

 

Préambule

  • Le service en ligne Web FTP / FTP Manager  ne nĂ©cessite pas d'accès particulier dès lors que vous possĂ©dez les droits de gestion sur un hĂ©bergement prĂ©sent dans le Manager Infomaniak et que vous y ĂŞtes connectĂ©.
    • Aucun besoin donc de possĂ©der un compte FTP et son mot de passe, le mot de passe du compte Infomaniak suffit.
  • Cela permet de:
    • crĂ©er des fichiers,
    • naviguer dans les rĂ©pertoires,
    • manipuler des fichiers existants (copier, renommer, dĂ©placer, supprimer, dĂ©zipper…),
    • Ă©diter et visualiser les fichiers texte, php et html de moins de 1 Mo,
    • transfĂ©rer des fichiers de moins de 50 Mo entre votre ordinateur et le serveur:
      • y compris par glissĂ©/dĂ©posĂ© directement de l'ordinateur vers la fenĂŞtre Web FTP:
      • afin d'aller au-delĂ  de cette limite et pour des possibilitĂ©s de travail en arrière-plan, reprise des transferts après coupure, de limitation des dĂ©bits, etc. utilisez un logiciel/client FTP (âť“: aide).

 

Accéder au serveur par Web FTP

Afin d'accéder rapidement au serveur du site par FTP ou SSH:

  1. Cliquez ici afin d'accéder à la gestion des hébergements & sites sur votre Manager Infomaniak (❓: aide).
  2. Cliquez sur le nom de l'hĂ©bergement concernĂ©.
  3. Cliquez sur FTP / SSH dans le menu latéral gauche.
  4. Cliquez sur les boutons Web FTP ou SSH console Ă  votre disposition:

Lien vers cette FAQ: https://faq.infomaniak.com/1130


Cette FAQ a été utile?

Ce guide explique comment rendre public l'un de vos calendriers / agendas depuis l'app Web Calendar Infomaniak (service en ligne ksuite.infomaniak.com/calendar).

 

Préambule

  • Vous obtiendrez une URL propre Ă  votre agenda au format .ics que Calendar (ex-iCal Apple), Calendrier (ex-iCalendar Microsoft), Thunderbird (ex-Lightning Mozilla) ou encore Google Agenda peuvent reconnaitre pour afficher votre agenda:
  • Les donnĂ©es contenues dans le calendrier partagĂ© ne seront plus privĂ©es mais ne seront disponibles qu'en lecture seule aux utilisateurs qui s'y "abonnent”.
  • La frĂ©quence des mises Ă  jour ponctuelles opĂ©rĂ©es par l'application qui souscrit Ă  l'URL de votre calendrier doit ĂŞtre dĂ©finie sur l'application en question.
  • Des scripts PHP (non fournis) permettent Ă©galement de parser de tels fichiers vous permettant par exemple l'inclusion d'Ă©vènements sur un site.
  • Prenez connaissance de cet autre guide pour configurer la synchronisation de vos calendriers/agendas ou de cet autre guide pour partager un calendrier/agenda Ă  vos collaborateurs avec diffĂ©rentes permissions.

 

Activer le partage public d'un calendrier Infomaniak

Pour partager un agenda publiquement :

  1. Cliquez ici afin d'accĂ©der Ă  l'app Web Calendar Infomaniak (service en ligne ksuite.infomaniak.com/calendar).
  2. Cliquez sur le menu d'action â‹® Ă  droite d'un calendrier.
  3. Cliquez sur Partager le calendrier.
  4. Activez le bouton Ă  bascule (toggle switch) pour le partage public.
  5. Cliquez sur l'icĂ´ne pour copier l'adresse dans le presse-papiers:
    • Il est en tout temps possible de supprimer l'accès public depuis cette page de partage (cf point 4 ci-dessus):

Lien vers cette FAQ: https://faq.infomaniak.com/1763


Cette FAQ a été utile?

Ce guide permet de résoudre une erreur de type "Invalid query: MySQL server has gone away".

 

Préambule

 

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. 

Lien vers cette FAQ: https://faq.infomaniak.com/499


Cette FAQ a été utile?