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 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

Cette FAQ a été utile?

Ce guide explique comment modifier la version de PHP utilisée en ligne de commande (PHP CLI) sur un hébergement Web Infomaniak.

 

Préambule

  • Utile pour configurer un script spĂ©cifique ou une session PHP en ligne de commande (CLI).
  • Pour modifier la version PHP du serveur Web (FPM/Apache) via le Manager, prenez connaissance de cet autre guide.

 

Version par défaut de PHP CLI

La commande php utilise la version par défaut du serveur. Vérifiez la version active avec cette commande :

# Check current PHP version
php -v

Pour la stabilité de vos scripts, utilisez un chemin explicite (ex: php8.2) ou modifiez votre variable PATH.

 

Modifier la version de PHP en CLI

Vous pouvez configurer la version de PHP chargée automatiquement dans votre session SSH via deux fichiers principaux.

 

1. Utilisation de .bashrc (Recommandé)

Le fichier ~/.bashrc est lu lors de l'ouverture d'un shell interactif.

  1. Ouvrez le fichier (ou créez-le s'il n'existe pas) :

    touch ~/.bashrc
    nano ~/.bashrc
  2. Ajoutez cette ligne pour définir la version souhaitée (exemple avec PHP 8.3) :

    export PATH="/opt/php8.3/bin:$PATH"
  3. Actualisez la configuration :

    source ~/.bashrc
  4. Vérifiez le changement :

    php -v
    which php

 

2. Utilisation de .profile (Alternative)

Le fichier ~/.profile est lu lors d'une connexion SSH (mode login).

  1. Modifiez le fichier :

    nano ~/.profile
  2. Ajoutez la ligne d'exportation :

    export PATH="/opt/php8.3/bin:$PATH"

 

3. Charger .bashrc systématiquement

Pour appliquer la configuration Ă  tous les types de sessions, ajoutez ce code dans vos fichiers ~/.bash_profile ou ~/.profile :

# Load .bashrc if it exists
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

 

Exécuter une version précise ponctuellement

Pour lancer un script avec une version spécifique sans changer votre environnement global, appelez directement le binaire :

# Execute with a specific version
/opt/php8.2/bin/php my_script.php
/opt/php8.3/bin/php -v

Une fois ces étapes terminées, vos sessions SSH et vos scripts CLI utiliseront la version de PHP sélectionnée par défaut.


Cette FAQ a été utile?

Ce guide explique comment utiliser les variables d'environnement PHP avec les Hébergements Web qui fonctionnent en php-fpm.

 

Préambule

  • Les variables d'environnement PHP sont des variables système utilisĂ©es pour stocker des informations sur les requĂŞtes HTTP et les redirections.
  • Elles sont gĂ©nĂ©ralement utilisĂ©es dans les serveurs Web pour stocker des dĂ©tails sur les requĂŞtes prĂ©cĂ©dentes ou sur les redirections qui ont Ă©tĂ© effectuĂ©es.
  • Ces variables peuvent contenir des informations telles que les URLs prĂ©cĂ©dentes, les mĂ©thodes HTTP, ou d'autres donnĂ©es liĂ©es Ă  la navigation du client sur le serveur Web.

 

Utiliser les variables d'environnement

Pour utiliser les variables d'environnement PHP:

  1. Définissez les variables d'environnement PHP dans un fichier .htaccess:
    • SetEnv EXAMPLEVARIABLE hello
  2. Dans votre fichier PHP, le nom de la variable à appeler correspond au même nom de variable défini dans la variable d'environnement:
    • <?php getenv('EXAMPLEVARIABLE');

Dans cet exemple, le résultat affiché sera hello.

 

Aller plus loin avec les variables d'environnement

Il est possible de configurer des variables d'environnement directement depuis le Manager pour l'ensemble de votre site Web:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au site concernĂ©:
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur l'onglet PHP / Apache:
  5. Plus bas sur la page, cliquez sur le chevron ‍ pour développer la partie Variables d'environnement.
  6. Cliquez sur l'icône ‍ Ajouter.
  7. Entrez la variable et sa valeur.
  8. Cliquez sur le bouton pour sauvegarder:

Cette FAQ a été utile?

Ce guide explique comment utiliser GnuPG / PGP avec PHP sur un Serveur Cloud Infomaniak, suite à l'obsolescence de l'extension native (des alternatives "PHP pur" ou des wrappers modernes sont privilégiés).

 

Préambule

  • L'extension système PHP_GnuPG n'est plus maintenue par la communautĂ© PHP et n'est donc plus disponible sur les environnements rĂ©cents.
  • Deux alternatives principales en "Pure PHP" (installables via Composer) permettent de continuer Ă  signer ou chiffrer vos donnĂ©es en toute sĂ©curitĂ©.

 

Option 1 : Crypt_GPG (Recommandé)

Cette bibliothèque agit comme un wrapper : elle communique directement avec le binaire gpg installé sur votre Serveur Cloud. C'est la solution la plus performante et la plus stable.

Pour l'installer, connectez-vous en SSH et exécutez cette commande à la racine de votre projet :

# Install the PEAR Crypt_GPG package via Composer
composer require pear/crypt_gpg

Exemple d'utilisation pour chiffrer un message (approche orientée objet) :

<?php
require_once 'vendor/autoload.php';

try {
    // Initialize the GPG object
    $gpg = new Crypt_GPG();

    // Set the recipient email (must match a public key already imported on the server)
    $gpg->addEncryptKey('contact@example.com');

    $message = "This is a secret message.";
    
    // Encrypt the data
    $enveloppe = $gpg->encrypt($message);
    
    echo $enveloppe;
} catch (Exception $e) {
    // Handle potential encryption errors
    echo "Error: " . $e->getMessage();
}

 

Option 2 : OpenPGP.php (Indépendant)

Cette bibliothèque est intégralement écrite en PHP. Son avantage majeur est qu'elle ne dépend pas du binaire gpg du serveur, garantissant une portabilité totale de votre code entre différents environnements.

# Install the OpenPGP.php library
composer require singpolyma/openpgp-php

Exemple de structure de base :

<?php
require_once 'vendor/autoload.php';

// Use the library classes to handle OpenPGP packets 
// directly in PHP without system calls to the GPG binary.
// Example: $msg = OpenPGP_Message::parse(OpenPGP::unarmor($data));

Lien vers cette FAQ:


Cette FAQ a été utile?

Ce guide concerne les fonctions ODBC de PHP.

 

Les fonctions ODBC de PHP ne sont supportées que sur Serveur Cloud.

 

Fonctions Open Database Connectivity

Il s'agit des fonctions utilisées pour interagir avec des bases de données via l'interface ODBC (Open Database Connectivity), un standard pour accéder à des sources de données de manière uniforme. Voici quelques exemples d'utilisation des fonctions ODBC de PHP :

  • Pouvoir lire des donnĂ©es d'une base de donnĂ©es externe, et les afficher sur votre site Web
  • InsĂ©rer ou modifier des donnĂ©es dans une base de donnĂ©es externe
  • Effectuer des requĂŞtes complexes sur une base de donnĂ©es externe

Lien vers cette FAQ:


Cette FAQ a été utile?

Ce guide explique comment travailler sans le module PECL SSH2 client indisponible sur les hébergements Web et Serveurs Cloud Infomaniak, en utilisant plutôt la bibliothèque phpseclib, qui fonctionne en PHP natif sans nécessiter d’extension spécifique.

 

Préambule

  • L’utilisation de PECL SSH2 client entraine des erreurs de type No compatible key exchange algorithms found ou Unable to exchange encryption keys dans sa derniere version disponible.
  • Phpseclib permet :
    • L'authentification SSH par mot de passe ou clĂ© privĂ©e.
    • L'exĂ©cution de commandes Ă  distance.
    • Le transfert de fichiers sĂ©curisĂ©s (SFTP).
    • La gestion des clĂ©s SSH.

 

Utiliser phpseclib

Pour intégrer une connexion SSH dans un script PHP, utilisez phpseclib comme suit :

use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;

$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));

if (!$ssh->login('utilisateur', $key)) {
    exit('Authentication Failed');
}

echo $ssh->exec('ls -la');

Lien vers cette FAQ:


Cette FAQ a été utile?

Ce guide explique pourquoi il est dangereux d'utiliser une version de PHP qui n'est plus officiellement tenue à jour et comment utiliser une version de PHP plus récente avec un site Web hébergé par Infomaniak.

 

Une version obsolète de PHP est-elle dangereuse?

Lorsque vous utilisez une version de PHP (bientôt) vulnérable sur un ou plusieurs de vos sites, un message d'avertissement s'affiche dans le tableau de bord des hébergements concernés.

Le langage PHP évolue régulièrement et lorsque vous utilisez une version de PHP qui n'est plus tenue à jour, vous exposez votre site Web à des risques de sécurité. Des personnes malveillantes pourraient par exemple exploiter des failles de sécurité connues pour s'introduire sur votre site et en modifier le contenu. Il est donc vivement recommandé de toujours utiliser une version récente de PHP.

3 situations sont possibles:

  • la version de PHP est pleinement supportĂ©e‍: aucune action n'est requise
  • la version de PHP reçoit uniquement des mises Ă  jour de sĂ©curité‍: il est recommandĂ© d'utiliser une version plus rĂ©cente de PHP
  • la version de PHP n'est plus tenue Ă  jour‍: il est vivement recommandĂ© d'utiliser une version plus rĂ©cente de PHP

 

Utiliser une version plus récente

Les dernières versions de PHP sont plus performantes et accélèrent le chargement des sites Web.

Avant d'utiliser une version plus récente de PHP, il est important de suivre les précautions suivantes :

  • Si votre site utilise un CMS ou une application Web (WordPress, Joomla, Drupal, etc.), assurez-vous que la version actuelle du CMS est prise en charge par la version de PHP que vous souhaitez utiliser.
  • Si votre site a Ă©tĂ© dĂ©veloppĂ© manuellement, prenez connaissance de la documentation officielle de PHP pour vous informer sur les fonctions modifiĂ©es et les Ă©ventuels changements susceptibles d’affecter le fonctionnement de votre code.

En cas de dysfonctionnement après la migration vers une version plus récente de PHP, il est parfois possible de revenir à une version précédente, à condition que celle-ci soit encore supportée!


Cette FAQ a été utile?

Ce guide explique comment modifier la version PHP disponible pour les sites de votre Hébergement Web Infomaniak.

 

Préambule

  • Il est possible de passer d'une version PHP ancienne et potentiellement vulnĂ©rable Ă  une version rĂ©cente, mais revenir ensuite vers cette version vulnĂ©rable ne vous sera plus possible pour des raisons de sĂ©curitĂ©.
  • Le changement est effectif immĂ©diatement et Ă  l'infini.
  • Prenez connaissance de cet autre guide si vous recherchez des informations au sujet de la configuration de la version de PHP utilisĂ©e en SSH.
  • Il est peut-ĂŞtre nĂ©cessaire de mettre Ă  jour votre hĂ©bergement au prĂ©alable pour accĂ©der aux toutes dernières versions de PHP proposĂ©es par Infomaniak.

 

Modifier la version de PHP utilisée pour un site Web

Il est possible de facilement modifier la version de PHP utilisée sur l'ensemble d'un site Web:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au site concernĂ©.
  3. Cliquez sur ‍ Plus d'informations.
  4. Cliquez sur Modifier:
  5. Choisissez la version de PHP désirée.
  6. Cliquez sur Enregistrer en bas de page pour sauvegarder la modification:

Cette FAQ a été utile?

Ce guide explique comment activer sur un hébergement Web Infomaniak le support de certains types de fichier (.inc par exemple) par PHP afin qu'ils soient traités de la même façon qu'un fichier .php.

 

Préambule

  • Auparavant, il fallait auparavant ajouter la ligne suivante dans un fichier .htaccess:
    • AddType application/x-httpd-php .inc
    • Cela Ă©vitait que lors d'un accès via navigateur, le contenu du fichier soit affichĂ© en texte au lieu d'ĂŞtre interprĂ©tĂ© correctement par PHP.
  • DĂ©sormais vous pouvez gĂ©rer les extensions de fichiers via le champ FPM Extensions dans le Manager de votre hĂ©bergement.

 

Gérer les extensions reconnues par PHP

Pour ajouter le support d'un type de fichier précis:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au site concernĂ©:
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur l'onglet PHP / Apache:
  5. Editez le champ FPM Extensions vous permettant l'ajout désiré.
  6. Cliquez sur le bouton en bas de page pour sauvegarder:

Lien vers cette FAQ:


Cette FAQ a été utile?

Ce guide indique comment modifier la directive error_reporting() sur votre site Web.

 

Activer le rapport d'erreurs

Indiquez les 2 informations suivantes dans votre fichier .user.ini :

display_errors=on
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT

Si votre navigateur n'affiche ni erreur ni avertissement c'est qu'il n'y en a pas.

 

Désactiver l'affichage d'erreurs PHP

Pour WordPress, éditez le fichier wp-config.php et remplacez la ligne:

define('WP_DEBUG', false);

par :

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Sinon, vous pouvez ajouter le code suivant dans le fichier .user.ini :

display_errors=off

Cette FAQ a été utile?

Ce guide explique comment installer rapidement des applications, extensions PHP et technologies (liste non exhaustive ci-dessous) en quelques clics sur Serveur Cloud uniquement.

 

Prenez connaissance de cet autre guide si vous recherchez des informations au sujet d'Applications Web supplémentaires pouvant être installées sur tout type d'hébergement y compris offre standard/mutualisé.

 

Installer (ou désinstaller) des apps / extensions PHP…

Pour trouver la liste des technologies et procéder à leur installation:

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre Serveur Cloud sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribué au Serveur Cloud concerné:
  3. Cliquez dans le menu latéral gauche:
    1. Extensions PHP
    2. Fast Installer
  4. Cliquez sur le menu d'action ⋮ à droite de l'extension que vous souhaitez désinstaller dans le tableau qui s'affiche.
  5. Cliquez sur Désinstaller.
  6. Sinon cliquez sur le bouton bleu Installer une extension / Installer une application:
  7. Puis faites votre choix de nouvelle installation‍:

 

Liste non exhaustive des apps & extensions disponibles

Lien vers cette FAQ:


Cette FAQ a été utile?

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 :

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au site concernĂ©:
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur l'onglet PHP / Apache:
  5. Cliquez sur les boutons à bascule (toggle switch) On/Off comme désiré:
  6. Cliquez sur le bouton Enregistrer en bas de page pour valider les modifications.

Lien vers cette FAQ:


Cette FAQ a été utile?

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 :

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au site concernĂ©:
  3. Cliquez sur Gérer les paramètres avancés:
  4. 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

N'oubliez pas d'enregistrer les changements en bas de page.

 

Valeurs maximales par type d'hĂ©bergement 

LimitesMutualiséServeur CloudCLI (uniquement Serveur Cloud)
max_execution_time300 s3600 s 0 (illimitĂ©) s max
memory_limit1280 Mo2048 Mo max512 Mo max
post_max_size + upload_max_filesize9223372036854775807 Mo max9223372036854775807 Mo max48 Mo max
max_children20 max20 (par dĂ©faut, modifiable) 
connexions simultanĂ©es par IP30 max30 (par dĂ©faut, modifiable) 
max_input_time0 (illimité)0 (par défaut, modifiable)0 (illimité)
fichiers (inodes)aucune limite du nombre de fichier par hébergement

Cette FAQ a été utile?

Ce guide concerne les fonctionnalités de gestion de base de données disponibles avec les hébergements Infomaniak.

 

Découvrez également la solution de bases de données managées (DBaaS) haute disponibilité hébergée en Suisse, permettant de déployer facilement des clusters performants et sécurisés (MySQL, MariaDB, PostgreSQL) sans avoir à gérer l'infrastructure sous-jacente.

 

MySQL, SQLite, MariaDB, PostgreSQL…

Au niveau Système de Gestion de Base de Données, les hébergements supportent…

  1. … bases de données MySQL via accès PHP MySQL ou via Perl DBI+DBD::mysql
    • Vous pouvez utiliser MySQL comme système de gestion de base de donnĂ©es (SGBD) sur les serveurs Infomaniak.
    • Vous pouvez y accĂ©der soit via PHP en utilisant les fonctions de base de donnĂ©es MySQL intĂ©grĂ©es Ă  PHP, soit via Perl en utilisant les modules DBI et DBD::mysql
  2. … MySQLI, l'interface d'accès native au MySQL (PHP5)
    • MySQLI est une extension de PHP qui permet d'accĂ©der Ă  une base de donnĂ©es MySQL.
    • C'est une version amĂ©liorĂ©e et plus rĂ©cente de l'ancienne extension MySQL de PHP, offrant des fonctionnalitĂ©s et des performances amĂ©liorĂ©es.
  3. … SQLite 3.x
    • SQLite est un moteur de base de donnĂ©es SQL lĂ©ger, autonome et sans serveur.
    • Les serveurs Infomaniak prennent en charge SQLite version 3.x, ce qui signifie que vous pouvez utiliser SQLite pour stocker des donnĂ©es sur ces serveurs.
  4. … MariaDB
    • MariaDB est un fork de MySQL et est souvent utilisĂ© comme alternative Ă  MySQL
    • Vous pouvez donc utiliser MariaDB comme système de gestion de base de donnĂ©es sur les serveurs Infomaniak
  5. … le module PGSQL
    • PGSQL est un module PHP qui permet de se connecter Ă  une base de donnĂ©es PostgreSQL
    • Cette fonctionnalitĂ© spĂ©cifique vous permet de vous connecter Ă  une base de donnĂ©es PostgreSQL DISTANTE via PHP ; cela nĂ©cessite d'ouvrir le port appropriĂ© vers l'IP prĂ©cise de la base de donnĂ©es PostgreSQL depuis le manager Infomaniak.

Dba, dbm, db2, sqlite ne sont pas supportées, SQL Server non plus (il s'agit d'un serveur de base de données qui nécessite une architecture Microsoft).

Lien vers cette FAQ:


Cette FAQ a été utile?

Ce guide détaille les bibliothèques logicielles permettant de manipuler le format PDF et compatibles avec les différentes offres d'hébergement web Infomaniak.

 

Préambule

  • Les extensions PHP PDF permettent entre autre de gĂ©nĂ©rer un PDF Ă  partir de donnĂ©es dynamiques pour crĂ©ation de factures personnalisĂ©es par exemple.

 

PDF et Serveur Cloud

Sur Serveur Cloud, vous pouvez installer des apps comme PDFtk …

Sur hébergement mutualisé, ImageMagick est actif et supporte les formats EPDF, PDF et PDFA.


Cette FAQ a été utile?

Ce guide traite de "browscap.ini", un fichier de configuration historique utilisé par PHP pour identifier les caractéristiques des navigateurs web (nom, version, capacités, OS) à partir de leur chaîne User-Agent.

L'utilisation de browscap.ini est aujourd'hui considérée comme obsolète pour les nouveaux projets en raison de son impact négatif sur les performances et de l'évolution des standards du web.

 

Informations sur le fichier et usage legacy

Pour que la fonction native PHP get_browser() fonctionne, elle doit pointer vers un fichier browscap.ini à jour. Le chemin par défaut sur les serveurs est généralement :

/opt/php/lib/php/browscap.ini

Bien que déconseillé pour la production à cause de la taille du fichier (plusieurs Mo à charger en mémoire), vous pouvez consulter son contenu via ce script :

<?php
header("Content-type: text/plain");
if (file_exists("/opt/php/lib/php/browscap.ini")) {
    echo file_get_contents("/opt/php/lib/php/browscap.ini");
} else {
    echo "Fichier introuvable.";
}
?>

 

Alternatives modernes recommandées

Pour les projets actuels, les développeurs privilégient les solutions suivantes :

  1. Bibliothèques via Composer : des outils comme matomo/device-detector ou whichbrowser/parser sont plus précis, plus rapides et se mettent à jour facilement via les dépendances du projet.
  2. User-Agent Client Hints (UA-CH) : la nouvelle norme HTTP permettant d'obtenir des informations structurées et fiables directement du navigateur.
  3. Détection de fonctionnalités (Feature Detection) : utiliser le JavaScript (ou les requêtes @supports en CSS) pour vérifier si une fonction existe, plutôt que de deviner le nom du navigateur.

Lien vers cette FAQ:


Cette FAQ a été utile?

Ce guide explique comment exécuter le gestionnaire de dépendance open source Composer 2 à l'aide d'une commande SSH.

 

Préambule

  • Composer est un gestionnaire de dĂ©pendances open source pour PHP permettant de dĂ©finir, d’installer et de mettre Ă  jour les bibliothèques nĂ©cessaires Ă  un projet PHP.
  • Composer 1 est obsolète depuis 2021, ne permet plus depuis 2025 d’installer de nouveaux packages ou d'effectuer de mises Ă  jour.
  • Seule la version 2 de Composer est dĂ©sormais prise en charge et disponible sur toutes les versions de PHP de 7.2 Ă  8.3.

 

Exécuter Composer 2

Composer 2 est déjà préinstallé et accessible via SSH. Il n'est donc pas nécessaire de l'installer manuellement.

Utilisation simple

Connectez-vous à votre hébergement via SSH, puis utilisez la commande suivante:

composer

Cette commande exécutera automatiquement la version 2 de Composer compatible avec la version de PHP actuellement utilisée dans votre session.

Vérifier la version active

Vous pouvez vérifier la version de Composer disponible avec:

composer --version

Exemple de sortie : Composer version 2.5.0 2022-12-20 10:44:08 

Forcer une version de PHP spécifique

Si vous souhaitez exécuter Composer avec une version précise de PHP, des alias sont disponibles. Par exemple :

composer_php8.1 --version

ou encore:

composer_php7.4

Ces alias permettent d’exécuter Composer 2 avec l’interpréteur PHP spécifié, utile pour tester ou déployer un projet sur une version cible de PHP.


Cette FAQ a été utile?

Ce guide explique comment spĂ©cifier un fichier qui sera chargĂ© avant mĂŞme la page voulue ou au dĂ©but de chaque script PHP exĂ©cutĂ© sur votre serveur, inclus comme s'il avait Ă©tĂ© appelĂ© avec la fonction require(), mais plus globalement en utilisant la directive auto_prepend_file de PHP. 

 

Préambule

  • Pour par exemple dĂ©clarer les headers d'un site Web, il est possible de faire un fichier headers.php qui contient des fonctions PHP header() et qui soit prepend au dĂ©but de chaque fichier PHP…
    • … via un fichier .user.ini (propre Ă  un dossier),
    • … ou via la configuration du site du Manager (global) comme expliquĂ© ci-dessous.

 

Inclure un fichier globalement depuis le Manager

Pour accĂ©der Ă  la gestion du site Web :

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au 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 en entrant le chemin du fichier à inclure.
  6. Cliquez sur le bouton Enregistrer en bas de page:

 

Après avoir défini cette directive, toutes les pages PHP sur votre serveur incluront automatiquement le fichier spécifié avant d'exécuter leur propre code.

Les headers définis dans un fichier .htaccess ne sont valables que pour le contenu non PHP (donc statique).

Infomaniak utilise php-fpm qui reçoit les différents headers via apache fast_cgi. Dans la RFC de cgi_www le header Strict-Transport-Security ne fait pas partie des headers passés via CGI et la documentation Apache le confirme. Prenez connaissance de cette autre RFC.


Cette FAQ a été utile?

Ce guide concerne l'installation d'extension PHP sur Hébergements Web Infomaniak.

 

Utilisation d'extensions PHP Zend

  • Zend Guard Loader est une extension PHP qui permet d'exĂ©cuter des scripts PHP chiffrĂ©s via Zend Guard.
    • Zend Guard Loader est installĂ© de base pour PHP <= 5.6 sur tous les hĂ©bergements Web et n'est pas disponible pour les versions de PHP >= 5.6.
  • Depuis PHP 5.3.x, le module Zend Optimizer a Ă©tĂ© remplacĂ© par ZendGuardLoader
  • L'extension ZendOPCache nĂ©cessite un Serveur Cloud configurĂ© avec PHP 5.5 minimum

Lien vers cette FAQ:


Cette FAQ a été utile?

Ce guide explique comment modifier la configuration serveur d'un site sur Hébergement Web Infomaniak.

 

Préambule

  • Apache est le serveur HTTP.
    • Il se configure avec un fichier .htaccess placĂ©e Ă  la racine du site Web.
  • PHP est un langage de programmation utilisĂ© pour crĂ©er des pages web dynamiques via un serveur HTTP.
    • Il est possible de personnaliser les directives PHP avec un fichier .user.ini lesquelles seront effectives dans les dossier et sous-dossiers de l'emplacement du fichier .user.ini.
  • Prenez connaissance de cet autre guide au sujet de la crĂ©ation de fichiers .htaccess & .user.ini.

 

Modifier la configuration serveur d'un site…

 

… via le Manager

Pour modifier la configuration PHP et la plupart des paramètres (max_input_vars, allow_url_fopen, memory_limit, post_max_size + upload_max_filesize , etc.):

  1. Cliquez ici afin d'accĂ©der Ă  la gestion de votre site sur le Manager Infomaniak (besoin d'aide ?).
  2. Cliquez directement sur le nom attribuĂ© au site concernĂ©:
  3. Cliquez sur Gérer les paramètres avancés:
  4. Cliquez sur les différents onglets Général, PHP / Apache et Extensions PHP pour procéder aux ajustements désirés:
    • Prenez connaissance de cet autre guide si vous recherchez des informations au sujet des valeurs limites et des possibilitĂ©s de dĂ©blocage de ces dernières.
    • Prenez si nĂ©cessaire connaissance de cet autre guide concernant le quatrième onglet.

N'oubliez pas d'enregistrer les changements en bas de page.

 

… via le fichier .user.ini

Pour les directives PHP qui ne sont pas présentes côté Manager, il est nécessaire de définir les valeurs souhaitées dans le fichier .user.ini par exemple:

max_file_uploads = 20

La liste des directives existantes se trouve sur le site officiel de PHP mais les éléments avec l'indication PHP_INI_SYSTEM dans la colonne Modifiable ainsi que max_input_time, memory_limit et mysqli.default_socket ne sont pas utilisables.

 

… en CLI

Pour personnaliser des directives PHP lors de l'exécution de scripts en ligne de commande (CLI) ou dans des tâches CRON, il est nécessaire de spécifier les valeurs souhaitées dans un fichier .user.ini.

Ensuite, pour appliquer ces configurations, on utilise l'exécutable PHP avec l'option -c suivi du chemin vers le fichier .user.ini.

Par exemple pour modifier la limite de mémoire disponible pour PHP à 1024M, on peut créer ou modifier le fichier .user.ini en utilisant la commande suivante:

echo 'memory_limit = 1024M' > .user.ini

Cette commande écrit la directive memory_limit avec la valeur 1024M dans le fichier .user.ini.

Ensuite, lors de l'exécution d'un script PHP en ligne de commande ou dans une tâche CRON, on utilisera la commande PHP avec l'option -c pour spécifier le fichier .user.ini contenant les configurations personnalisées.

L'exemple suivant active allow_url_fopen pour l'outil WP CLI (permet notamment de récupérer des extensions):

php -d allow_url_fopen=On ~/bin/wp package install trepmal/wp-revisions-cli
  • php: l'exĂ©cutable PHP
  • -d allow_url_fopen=On: l'option -d permet de dĂ©finir une directive de configuration PHP (allow_url_fopen) avec la valeur On
  • ~/bin/wp: chemin vers l'exĂ©cutable WP CLI
  • package install trepmal/wp-revisions-cli: la commande spĂ©cifique pour installer le package WP CLI trepmal/wp-revisions-cli

Cela garantit que l'option allow_url_fopen est activée pendant l'exécution de la commande WP CLI spécifiée. L'activation de allow_url_fopen peut être nécessaire pour certaines opérations qui impliquent l'ouverture d'URL distantes, comme le téléchargement d'extensions ou de packages. Assurez-vous que cette option est activée de manière sécurisée et conformément aux meilleures pratiques de sécurité.


Cette FAQ a été utile?