Ecrit par Fabien

Fabien est votre expert SEO et développeur Web en région lyonnaise. Profil 2.0 complet, il vous accompagne et vous guide dans votre démarche digitale.

Bug OVH WordPress: failed to open stream Version PHP

Accueil » Hébergement » Bug OVH WordPress: failed to open stream Version PHP

19 août 2022

Explication du bug sur OVH (Peut-être chez d’autres hébergeurs)

En travaillant sur un cas pratique de l’un de mes clients sur OVH, je mettais en place tranquillement mon nouveau WordPress comme je fais un certain nombre de fois par an, et là, je suis tombé sur un bug sur OVH assez gênant (que le client avait déjà rencontré car son site ne fonctionnait plus). Je vais vous expliquer comment se dépatouiller de ce genre de bug et de code ouvert ou erreur 500 dès l’installation dans cet article.

Ligne de code du Bug sous OVH

Lorsque je suis arrivé sur le site de mon client, je suis tombé sur cette ligne de code directement qui masquait son ancien WordPress (Vous remplacez les données entre double  »  » par la data de votre serveur bien évidemment pour question de confidentialité) :

Warning: main(__DIR__/wp-blog-header.php) [function.main]: failed to open stream: No such file or directory in /home/"RACINE DU SERVEUR"/"DOSSIER DU SITE"/index.php on line 17 Fatal error: main() [function.require]: Failed opening required '__DIR__/wp-blog-header.php' (include_path='.:/usr/local/lib/php') in /home/"RACINE DU SERVEUR"/"DOSSIER DU SITE"/index.php on line 17

Après un certain nombre de recherche sur Internet j’ai trouvé quelques éléments d’aides sur des topics anglophones car il ne s’agit pas que d’un problème OVH mais bien un problème universel lié à WordPress (les dernières versions) et à PHP.

D’où vient le problème ?

Dans le cas de mon client sous OVH, il avait une ancienne version de l’abonnement OVH. Malheureusement cette version ne prends pas en compte le changement de version de PHP et reste bloqué à une version obsolète de PHP < 7.4 de PHP. La version perso 2010 ne supporte pas le changement de la version Apache et PHP. Il faut au moins être en abonnement 2014 pour pouvoir procéder au changement.

L’objectif pour pallier au problème est donc de mettre à jour la version de PHP en passant à la 8.0 stable64 mais alors comment faire si le panel de l’administration de mon hébergeur web m’en empêche pour X raison ?

Résoudre le problème sur OVH

Pour résoudre ce problème, il va falloir injecter du code dans un fichier pour forcer une version stable de PHP et écraser la précédente sans avoir besoin de passer par l’administration.

1) Se munir d’un outil FTP

Ouvrez FileZilla ou autre gestionnaire de fichier FTP et connectez-vous à la racine de votre serveur dédié au côté de tout vos fichiers « OVH »

2) Un bloc d’édition de code

 Vous allez créer un fichier nommé « .ovhconfig » que vous allez téléverser à la racine de votre serveur ftp au côté de tous les autres fichiers de configuration d’OVH.

3) Copier coller ce code en l’adaptant à votre hébergement au besoin (dans cet exemple OVH)

Ce code va exécuter et écraser tous les paramètres de votre abonnement mutualisé en forçant l’utilisation de la version PHP 8 pour votre nouvelle solution WordPress qui utilise impérativement une version de PHP supérieur à 7.0. Le code qui suis est à insérer dans le fichier .ovhconfig cité dans la section précédente.

; 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 optiones .htaccess (like php version) are ignored
; phpcgi:
; IMPORTANT this is a fallback to 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: 8.0
; for phpcgi:
; this options is ignored (= fallback in AUTO)
;
app.engine.version=8.0

; __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 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=production

; __container.image__
;
; values: legacy | stable | stable64
;
container.image=stable64

4) tester

Testez à nouveau l’installation de votre WordPress ou la restauration de votre WordPress actuel non mis à jour en cliquant simplement sur F5 dans votre navigateur. Et hop, vous devriez bien avoir votre site remis sur pieds ou alors l’écran d’installation de votre instance WordPress toute neuve.

Allez plus loin ou besoin d’aide ?

Si vous êtes encore bloqué ou avez un problème similaire mais non décrit dans cet article, n’hésitez pas à me solliciter en me contactant directement par le chat en bas à droite ou par le formulaire de contact. Je serais ravis de vous aider !

En espérant que cet article vous aura été utile 🙂

Nuage de mots clés qui vous amène sur cet article :

Configurer fichier .ovhconfig

OVH Offre perso 2010

Bug version PHP OVH

failed to open stream

Warning: main(__DIR__/wp-blog-header.php)

include_path=’.:/usr/local/lib/php’

Impossible de changer la version PHP dans OVH

Impossible d’installer WordPress chez OVH

Fatal error: main() [function.require]

Vous aimerez aussi nos autres articles …

Hausse des tarifs stripe 2023

Hausse des tarifs stripe 2023

Et oui, la nouvelle est tombée dans ma boîte email cette semaine, Stripe va commencer sa hausse des tarifs (comme tout...