Qu'est-ce que php.ini ?

Comment créer et utiliser votre propre fichier php.ini sur l'hébergement web (suPHP).

Chaque utilisateur peut créer son propre fichier php.ini et le placer dans le répertoire où se trouvent ses scripts. Cela vous permet d'affiner vos paramètres PHP sans avoir à contacter le support à chaque fois.

Protéger php.ini contre l'accès public

Si vous placez php.ini dans public_html, veillez à en bloquer l'accès depuis l'extérieur. Ouvrez (ou créez) le fichier .htaccess à la racine de votre site — par exemple /home/user/public_html, où user est votre nom d'utilisateur cPanel — et ajoutez le bloc suivant :

<Files php.ini>
order allow,deny
deny from all
</Files>

Cela empêche quiconque de consulter votre fichier php.ini directement dans un navigateur.

Important

Lorsque PHP fonctionne en mode CGI ou suPHP, vous ne pouvez pas utiliser php_flag, php_admin_flag, php_value ni des directives similaires dans .htaccess. Cela provoquerait une erreur 500 Internal Server Error.

Appliquer php.ini à l'ensemble du site

Par défaut, un php.ini personnalisé ne s'applique qu'au répertoire dans lequel il se trouve. Pour l'étendre à l'ensemble de votre site, ajoutez l'une des lignes suivantes dans votre fichier .htaccess — juste avant le bloc <Files> ci-dessus — selon votre serveur :

Pour la plupart des serveurs :

suPHP_ConfigPath /home/user/public_html

Pour hostde6 et hostde15 :

lsapi_phpini /home/user/public_html

Remplacez user par votre vrai nom d'utilisateur cPanel.

Référence des permissions de fichiers

Permission Signification
644 Le propriétaire peut écrire ; les autres ne peuvent que lire (valeur par défaut pour les fichiers)
444 Lecture seule pour tout le monde, y compris vos propres scripts
755 Permissions standard pour les dossiers (aucune modification nécessaire)

Avec les permissions 644, seuls les scripts s'exécutant sous votre propre compte peuvent écrire dans les fichiers — personne d'autre. La valeur 444 ajoute un niveau de sécurité supplémentaire en empêchant même vos propres scripts de modifier les fichiers, bien que cela soit entièrement facultatif.

En règle générale : ne modifiez pas les permissions des fichiers lors de l'installation d'un script, même si les instructions vous le demandent. Vous pouvez ignorer sans risque toute étape CHMOD.

Nos produits et services

Hébergement webFonctionne sur des disques NVMe ultra-rapides. Convient aux sites de toute complexité.
Commande
VPSInfrastructure cloud flexible avec accès root complet.
Commande
Serveurs dédiésServeurs physiques pour une performance maximale.
Commande

Exemple de php.ini avec les paramètres courants

Syntaxe : directive = valeur — les lignes commençant par ; sont des commentaires et sont ignorées par PHP.

  • safe_mode = Off
  • disable_functions = — bloquer des fonctions PHP spécifiques pour des raisons de sécurité
  • max_execution_time = 30 — durée maximale d'exécution d'un script en secondes
  • memory_limit = 16M — mémoire maximale qu'un script peut utiliser
  • error_reporting = E_ALL & ~E_NOTICE — afficher toutes les erreurs sauf les notices
  • display_errors = On — afficher les erreurs dans le navigateur (utile pour le débogage)
  • variables_order = "EGPCS" — ordre dans lequel PHP enregistre les variables : E = intégrées, G = GET, P = POST, C = Cookies, S = Sessions
  • register_globals = On — rendre les variables GET/POST/Cookie/Session accessibles comme des variables ordinaires
  • post_max_size = 55M — taille maximale des données POST acceptées
  • magic_quotes_gpc = On — échapper automatiquement les guillemets provenant des entrées POST/GET/Cookie
  • file_uploads = On — autoriser l'envoi de fichiers
  • ;upload_tmp_dir = — répertoire temporaire pour les fichiers envoyés (à créer si vous renseignez ce paramètre)
  • upload_max_filesize = 5M — taille maximale d'un fichier envoyé
  • session.save_handler = files — stocker les données de session dans des fichiers
  • session.save_path = /tmp — répertoire des fichiers de session (à créer si nécessaire)
  • session.use_cookies = 1 — utiliser les cookies pour gérer les sessions
  • session.name = PHPSESSID — nom du cookie utilisé pour identifier la session
  • session.auto_start = 0 — ne pas démarrer une session automatiquement à chaque requête
  • session.cookie_lifetime = 0 — le cookie de session expire à la fermeture du navigateur
  • session.use_trans_sid = 1 — ajouter automatiquement l'ID de session aux liens (solution de repli si les cookies sont désactivés)

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter