Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide explique comment activer les fonctions suivantes sur HĂ©bergement Web (en italique, Serveur Cloud uniquement):
proc_open
popen
exec()
shell_exec()
set_time_limit
passthru
system
Ces fonctions sont désactivées par défaut car elles représentent un risque de sécurité important en cas de piratage d'un site Web. Ne les activez qu'en cas de réel besoin (d'un script ou CMS ImageMagick, Typo3, CraftCMS, etc.).
Activer des fonctions 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.
- Cliquez sur les boutons à bascule (toggle switch) On/Off comme désiré:
- Cliquez sur le bouton Enregistrer pour valider les modifications.
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 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 explique quelles sont les différences entre un Domaine (ou site principal), un Sous-domaine et un Alias.
Préambule
- Bien qu'ils soient liés, ces trois éléments (Domaine, Sous-domaine et Alias) ont des fonctions et des finalités différentes.
- Ils peuvent impacter un HĂ©bergement Web via son nom de domaine, ou mĂŞme la messagerie puisqu'il est tout Ă fait possible d'avoir des adresses mail sur un sous-domaine p.ex.
Qu'est-ce qu'un Domaine ?
Le domaine ou nom de domaine, est la porte d'entrée principal à votre site Web. C'est à partir de lui que vos utilisateurs accéderont à votre contenu. C'est ce domaine principal qui définit ce qui apparaîtra dans la barre URL des navigateurs de vos utilisateurs.
Prérequis
- Posséder un domaine.
- Posséder un hébergement Web Infomaniak.
Prenez connaissance du guide Créer un nouveau site sur votre hébergement Web.
Qu'est-ce qu'un Sous-domaine ?
Le Sous-domaine est symbolisé par un mot supplémentaire qui se trouve devant votre nom de domaine principal. Cela est très utile dans plusieurs cas, p.ex :
- cela peut servir à afficher du contenu "exclusif" ou ciblé, p.ex en vous rendant sur faq.infomaniak.com vous arrivez sur la base de connaissance où se trouvent tous les guides
- cela peut également servir (temporairement ou définitivement) lors de la création d'un nouveau site ou de la refonte d'un site existant, en créant p.ex new.domain.xyz quand le site principal était jusqu'alors domain.xyz
Prérequis
- Posséder au moins un domaine.
- Posséder un hébergement Web Infomaniak.
Prenez connaissance du guide Ajouter un sous-domaine à votre hébergement Web.
Qu'est-ce qu'un Alias ?
Un Alias ou Domaine Alias est un second nom de domaine qui pointent directement sur votre site principal, ils partagent les mêmes pages Web. L'alias est une autre porte d'accès à votre site Web. P.ex le site principal d'Infomaniak Network SA est www.infomaniak.com et www.infomaniak.ch est son alias.
L'intérêt d'un Alias est de vous permettre d'augmenter la visibilité de votre site auprès de votre cible en lui proposant davantage de porte d'entrées pour y accéder.
Prérequis
- Posséder plusieurs noms de domaine.
- Posséder un hébergement Web Infomaniak.
Prenez connaissance du guide Ajouter un alias à votre hébergement Web.
L'Ă©quivalent existe Ă©galement pour un Service Mail.
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 (WordPress & Apps), avec des adresses URL de type site1.votre-domaine-ici, site2.votre-domaine-ici, ou même avec votre-domaine1.com, votre-domaine2.com, etc.
⚠️ Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Installation de WordPress multisite
Pour cela:
- installer WordPress via Infomaniak sur votre espace d'hébergement
- se connecter par FTP
- Ă©diter le fichier wp-config.php
- au-dessus de la ligne "/* That's all, stop editing! Happy blogging. */" ajouter:
define('WP_ALLOW_MULTISITE', true);
Rendez-vous ensuite sous OUTILS de votre WordPress afin de créer un réseau.
Suivre les indications. Il faudra notamment:
- retirer tout certificat SSL
- désactiver les extensions WordPress
Ajouter des sites à votre réseau WP
Pour cela:
- dans WordPress, revenir sous OUTILS > Création du réseau
- choisir la méthode de création de vos différents WordPress (sur sous-domaines)
- ajouter les indications nécessaires 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
- sur le Manager, ajouter 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 bon CNAME soit ajouté automatiquement dans la zone
- lorsque vous créerez un nouveau site au sein du réseau, en le nommant par exemple site1 alors il deviendra accessible via site1.votre-domaine-ici et ainsi de suite
Sous-domaine et domaine entier
Juste après l'ajout dans le réseau WordPress, vous avez la possibilité de modifier l'URL du site ajouté:
Cliquer sur Modifier le site pour spécifier l'URL complète:
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 et interactive_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. P.ex 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 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 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.
⚠️ Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Si l'alternative proposée pose problème lorsque vous soumettez plusieurs fichiers CSV à lire et que la procédure p.ex 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.
Consulter la documentation de PHP concernant fgetcsv
: http://php.net/manual/fr/function.fgetcsv.php
Ce guide explique comment personnaliser les limites d'un site hébergé sur un Hébergement Web mutualisé ou un Serveur Cloud.
DĂ©bloquer ou ajuster les limites d'un site
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.
Vous pourrez notamment:
- Débloquer pendant 60 minutes la limite mémoire (
memory_limit
= 1280 Mo) et le temps d'exécution maximal des scripts (max_execution_time
= 60 minutes):- Ce déblocage est possible au maximum 10 fois par an.
- Personnaliser les limites de:
max_execution_time
(en secondes)memory_limit
(en Mo)post_max_size
&upload_max_filesize
(taille maximum de fichier pour envoi, en Mo)- Serveur Cloud uniquement:
Max children
(prenez connaissance de cet autre guide) - Serveur Cloud uniquement:
Max input time
Ne pas oublier d'enregistrer les changements en bas de page.
Valeurs maximales par type d'hébergement
Limites | Mutualisé | Serveur Cloud | CLI (uniquement Serveur Cloud) |
---|---|---|---|
max_execution_time | 300 s | 3600 s | 0 (illimité) s max |
memory_limit | 1280 Mo | 2048 Mo max | 512 Mo max |
post_max_size + upload_max_filesize | 9223372036854775807 Mo max | 9223372036854775807 Mo max | 48 Mo max |
max_children | 20 max | 20 (par défaut, modifiable) | |
connexions simultanées par IP | 30 max | 30 (par défaut, modifiable) | |
max_input_time | 0 (illimité) | 0 (par défaut, modifiable) | 0 (illimité) |
fichiers (inodes) | aucune limite du nombre de fichier par hébergement |
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.