Développement et bases de données

Versions de PHP différentes définies par répertoire ou par domaine

Vérifié le 6 min de lecture PHP versions

Votre hébergement a une version de PHP par défaut, mais chaque site et chaque dossier peuvent avoir la leur. Vous pouvez ainsi faire cohabiter des applications aux prérequis différents sur le même hébergement.

Depuis l'espace client, sans modifier de fichiers

Allez dans Hébergement, ouvrez votre service et rendez-vous dans PHP. La liste Vos sites et applications vous montre la version de chaque site et d'où elle lui vient.

  • Pour changer la version d'un site, cliquez sur Modifier sur sa ligne. Voyez comment dans Changer la version de PHP d'un site.
  • Pour fixer la version dans n'importe quel dossier, cliquez sur l'icône de dossier sur la ligne de son site, ou sur Fixer dans un dossier dans la fiche du site.

Fixer la version dans un dossier

L'explorateur démarre dans le dossier de l'un de vos sites et lit chaque dossier au moment où vous l'ouvrez. Pour chacun, il vous montre la version qu'il utilise actuellement, s'il s'agit de la sienne ou s'il l'hérite d'un dossier parent, s'il est vide et s'il contient une application que nous reconnaissons.

Cliquez sur un dossier pour y entrer. Lorsque vous arrivez à celui que vous voulez, cliquez sur Modifier sur sa ligne, ou sur Modifier ce dossier s'il s'agit du dossier dans lequel vous vous trouvez, et la réglette des versions s'ouvre. Choisissez la version et cliquez sur Fixer. Nous écrivons la version dans son .htaccess et conservons une copie datée du fichier précédent. La version s'applique à ce dossier et à tout ce qu'il contient.

Explorateur de dossiers avec la réglette des versions ouverte dans la ligne d'un dossier vide

  • Si le dossier a du contenu, nous vérifions avant et après qu'il répond. S'il cesse de le faire, nous revenons automatiquement en arrière.
  • Si le dossier est vide, par exemple parce que vous venez de le créer pour y installer une application, il n'y a encore rien à vérifier. La version s'applique quand même et ce que vous installerez utilisera cette version dès le départ.

Dans les deux cas, vous disposez de 24 heures pour annuler d'un clic.

Ne fixez pas une version uniquement dans wp-admin, wp-content ou wp-includes : ils font partie d'un WordPress et scinderaient l'installation en deux versions.

Les sites et dossiers publiés par Deploy+ n'acceptent pas de version depuis l'espace client : chaque déploiement remplace le dossier publié et la version serait perdue. Voyez comment la fixer dans Version de PHP d'un site publié avec Deploy+. Il n'est pas non plus possible de fixer une version dans d'autres dossiers qui sont des liens.

Ce qui se configure par dossier et ce qui se configure par version

Par dossier, seule la version est fixée. Les extensions et les limites de PHP (memory_limit, upload_max_filesize et les autres) appartiennent à chaque version pour tout le compte. Si vous activez une extension dans PHP 8.3, elle reste active pour tout ce qui tourne en 8.3. La fiche de chaque site vous indique quels autres sites partagent sa version.

Modifier le .htaccess à la main

Avant de modifier le fichier, conservez-en une copie et confirmez la racine réelle du domaine. Ajoutez la directive au .htaccess du dossier à partir duquel elle doit s'appliquer ; les sous-répertoires en hériteront sauf s'ils ont une autre règle ultérieure. Par exemple, pour PHP 8.4 :

AddType application/x-httpd-alt-php84 .php

Les directives disponibles sont :

# PHP 5.4
AddType application/x-httpd-alt-php54 .php

# PHP 5.5
AddType application/x-httpd-alt-php55 .php

# PHP 5.6
AddType application/x-httpd-alt-php56 .php

# PHP 7.0
AddType application/x-httpd-alt-php70 .php

# PHP 7.1
AddType application/x-httpd-alt-php71 .php

# PHP 7.2
AddType application/x-httpd-alt-php72 .php

# PHP 7.3
AddType application/x-httpd-alt-php73 .php

# PHP 7.4
AddType application/x-httpd-alt-php74 .php

# PHP 8.0
AddType application/x-httpd-alt-php80 .php

# PHP 8.1
AddType application/x-httpd-alt-php81 .php

# PHP 8.2
AddType application/x-httpd-alt-php82 .php

# PHP 8.3
AddType application/x-httpd-alt-php83 .php

# PHP 8.4
AddType application/x-httpd-alt-php84 .php

# PHP 8.5
AddType application/x-httpd-alt-php85 .php

Un dossier que vous personnalisez à la main apparaît dans la liste PHP avec sa version lors de la lecture suivante de votre hébergement, qui a lieu une fois par jour. Si vous ne voulez pas attendre, cliquez sur Actualiser dans Fiche technique.

Vérifier le changement

La directive change l'interpréteur des requêtes web sous ce chemin, pas la version de PHP du terminal. Vérifiez la version effective depuis l'application ou avec un phpinfo() temporaire, et supprimez ce fichier après le test.

Si une erreur d'extension manquante apparaît après le changement, consultez l'onglet Extensions de la fiche du site : il vous montre celles de la version qu'il utilise. Si vous modifiez le .htaccess à la main, ne conservez que le gestionnaire nécessaire ; plusieurs directives AddType, AddHandler ou SetHandler peuvent interférer entre elles. Si la règle ne fonctionne pas, retirez-la et utilisez l'espace client ou contactez l'assistance.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.