Ce guide vous aidera à configurer le PHP sur votre hébergement web chez OVH.

ATTENTION : Le fichier .ovhconfig est présent par défaut depuis les Hébergements Web 2014. Sur les offres antérieures, il faudra le créer et le placer à la racine de votre espace disque.
Il n'est pas ajouté automatiquement sur les anciens Plans et lors d'un changement d'offre, car certains paramètres peuvent ne pas être compatibles selon la version PHP que vous utilisez.

NB : Le fichier .ovhconfig ne peut être placé qu'à la racine ou dans un répertoire de premier niveau, il n'est pas possible d'utiliser plusieurs fichiers pour faire cohabiter des configurations PHP différentes sur un même hébergement (sauf multi-domaine correctement déclaré).

Comment ajuster vos préférences PHP ?

.

Comment choisir sa version PHP ?

Il vous suffit de déposer le fichier .ovhconfig à la racine de votre espace disque, via FTP.

Pour utiliser PHP 5.5 par exemple, ce fichier .ovhconfig devra contenir le code :

app.engine=php
app.engine.version=5.5
http.firewall=none
environment=production
.

Quelles versions de PHP sont disponibles ?

Vous pouvez utiliser les version PHP:
  • 5.5
  • 5.4 (version par défaut)
  • 5.3 (bientôt obsolète)

NB : Les versions inférieures ne sont plus maintenues par l'éditeur et nous allons progressivement stopper leur prise en charge. Nous continuerons les mises à jour en fonction de la sortie des nouvelles versions de PHP et de l'arrêt du support des anciennes. Ainsi, il est recommandé de veiller à la mise à jour régulière de vos pages.
Vous pouvez suivre la planification et la progression de ces opérations via la tâche travaux : ...

Attention, une fois le .ovhconfig en place, la version PHP utilisée est celle définie par app.engine.version. Les directives de votre .htaccess comme SetEnv PHP_VER ... sont alors ignorées
.

J'ai créé mon .ovhconfig et j'ai une erreur "Not Implemented"

Cela signifie que le moteur ou la version spécifiée dans votre .ovhconfig n'existe pas.
N'hésitez pas à regarder l'error.log de votre site afin d'avoir plus d'information sur l'erreur.
.

Que signifie la directive environment ?

Elle permet de spécifier le cache des fichier statiques ainsi que le comportement des erreurs PHP

En mode development :
  • aucun cache n'est appliqué
  • les logs PHP apparaissent sur votre site (display_errors=On)

En mode production : (option par défaut)
  • les fichiers statiques tels que images, vidéo, audio ont une expiration plus grande ce qui maximise la mise en cache des fichiers sur les navigateurs
  • les logs PHP n'apparaissent pas sur votre site (display_errors=Off)
.

Que signifie la directive http.firewall ?

Cette directive vous permet d'activer un firewall applicatif de type mod_security, pour cela mettez : security
http.firewall est par défaut à none
.

Détails sur le fichier .ovhconfig

Voici le détail d'application du fichier de config :

; ovhconfig
;
; this file must be placed in $HOME/.ovhconfig or in $DOCUMENT_ROOT/.ovhconfig

; __app.engine__
;
; values: php (php engine + opcache accelerator)
; notice: if php, a phpcgi engine will be activated as fallback (if previous engine crash)
;
;   php:
;       IMPORTANT: register_globals and magic_quotes_gpc are off for security
;       php options .htaccess (like php version) are ignored
;   phpcgi:
;       IMPORTANT this is a fallback or previous system
;       in this case __app.engine.version__ will be considerated as AUTO and php version will be old system
;       (meaning depending .htaccess or .phpX extension)
;
app.engine=php

; __app.engine.version__ specify version of your engine
;
; for php:
;   default: 5.4
; for phpcgi:
;   this options is ignored (= fallback in AUTO)
;
app.engine.version=5.4

; __http.firewall__ used to add application firewall  (filter http requests)
;
; values: none | security
; default: none
;
http.firewall=none

; __environment__
;
; values: production | development
;
;   production:
;       apache will maximise local cache
;       mod_expires will grow up TTL of js, css, pdf, images, video, audio
;       you can override it changing expiration explicitly or in your .htaccess
;       feel free to look on our guide.
;   development:
;       no expiration is added, files are not locally in cache,
;       will speed up tests but decrease performances
;
; choosen environment will also be available in your variable ENVIRONMENT unix env
;
; default: production
;
environment=development

Comment passer à une bonne version de PHP ?

.

Comment savoir quelle(s) version(s) de PHP supporte mon site ?

Si votre site utilise un CMS (type WordPress, Joomla, PrestaShop, etc), vous pourrez trouver les informations utiles dans la documentation disponible sur leur site officiel ou dans l'espace d'administration du module.
Si le CMS que vous employez est toujours maintenu par son éditeur, et que votre version est à jour, il ne devrait pas y avoir de souci pour supporter les dernières itérations de PHP. La majorité des CMS intègrent un outil de mise à jour simplifiée, qui vous permettra de l'effectuer facilement. Certains le gèrent tous seuls, comme WordPress depuis la version 3.7 de fin 2013.

Si votre site se base sur un développement en propre, ou une autre solution personnalisée, il vous faudra déterminer quelle(s) version(s) de PHP est/sont adaptée(s).

Pour information, voici la liste des changements incompatibles entre les versions de PHP :
> de PHP 4 à PHP 5 : http://www.php.net/manual/fr/migration5.incompatible.php
> de PHP 5.1 à PHP 5.2 : http://www.php.net/manual/fr/migration52.incompatible.php
> de PHP 5.2 à PHP 5.3 : http://www.php.net/manual/fr/migration53.incompatible.php
> de PHP 5.3 à PHP 5.4 : http://www.php.net/manual/fr/migration54.incompatible.php
> de PHP 5.4 à PHP 5.5 : http://www.php.net/manual/fr/migration55.incompatible.php
> de PHP 5.5 à PHP 5.6 : http://www.php.net/manual/fr/migration56.incompatible.php
.

Comment migrer vers une autre version de PHP ?

Une fois déterminée quelle version de PHP vous devez utiliser, il faudra indiquer ce choix dans le fichier .ovhconfig sur votre hébergement, comme expliqué plus haut sur ce guide.

Si vous souhaitez tester la bonne application des paramètres, vous pouvez passer votre hébergement en mode "développement" afin de vérifier et corriger les éventuelles erreurs.
Pour cela, dans le fichier .ovhconfig modifiez le paramètre "environment" de "production" à "development" (écriture anglaise).