Evolution de PHP

Pochtroi

Membre actif
Bonjour, mes sites internet, hébergés chez OVH sont écrits en PHP4.
Je viens de recevoir un mail d'OVH me disant que PHP4 sera bientôt obsolète et qu'il fau que je passe à PHP5.4 ou 5.5
Dans l'idée, pas de souci, j'écris le fichier .ovhconfig comme ils l'expliquent
Bloc de code:
app.engine=php
app.engine.version=5.5
http.firewall=none
environment=production

J'utilise sur mes sites une en-tête commune. Sur le site principal, un dossier 'COMMUN' répertorie l'en-tête et les images contenues dans le fichier en question.

il est appelé dans tous les sites par
Bloc de code:
include ('http://www.accordeons-fratelibenar.fr/COMMUN/En-tete.php');

Malheureusement, quand je mets le fichier .ovhconfig à la racine du site, mon en-tête disparait complètement.
La page commence seulement à la suite.

J'ai essayé de retirer les parenthèses du include, mais ça ne change rien au problème. D'ailleurs, ça semble évident puisque les autres includes fonctionnent et sont écrits avec les parenthèses.

Peut-on encore utiliser des liens complets dans la fonction include en PHP5.5 ? Si oui, pourriez-vous m'orienter sur ce problème ?
Le site a été écrit il y a bien longtemps, une bonne mise à jour ne lui ferait pas de mal, mais j'avoue que ce n'est pas trop le moment pour moi et que si je pouvais régler le problème rapidement, ça m'arrangerait.

Que se passera-t-il à votre avis si je laissais tout en PHP4, sans me soucier de la mise en garde d'OVH ? Mon site serait totalement inaccessible quand ils rendront obsolète ce langage ?

Merci pour votre aide
 
Ça n'a pas l'aire simple ton problème. J'ai des amis qui sont confrontés au même problème.

Il y a des discussions sur ce souci d'include entre PH4/PHP5, n'étant pas dev PHP je ne saurais te donner la réponse mais tu peux sans doute y trouver des pistes :

Pars ici…

Pars là (en anglais)…

Une discussion chez OVH…

Bonne chasse…:rolleyes: :D
 
Dernière édition:
OK. Merci, donc apperemment, je n'ai plus droit aux adresses absolues. Pourtant j'avais trouvé sur la doc PHP :
Bloc de code:
<?php
/* Cet exemple suppose que www.example.com est configuré pour traiter
* les fichiers .php et non pas les fichiers .txt. De plus,
* 'Work' signifie ici que les variables
* $foo et $bar sont disponibles dans le fichier inclus
*/

// Ne fonctionne pas : file.txt n'a pas été traité par www.example.com comme du PHPinclude
'http://www.example.com/file.txt?foo=1&bar=2';
// Ne fonctionne pas : le script cherche un fichier nommé
// 'file.php?foo=1&bar=2' sur le système localinclude 'file.php?foo=1&bar=2';
// Réussi
include 'http://www.example.com/file.php?foo=1&bar=2';$foo = 1;$bar = 2;
include 'file.txt'; // Ok.
include 'file.php'; // Ok
?>

Ce qui semble dire qu'on y a bien droit. C'est peut-être une limitation mise en place par OVH directement.

Pour mon php.ini (en PHP5.5) :
Directive Local Value Master Value
allow_url_fopen On On
allow_url_include Off Off
Donc ça vient d'OVH ?
Si je laisse en PHP4, la ligne allow_url_include n'existe pas, elle doit être sur On par défaut...

Bon, en tout cas je vais devoir revoir ça, peut-être que je vais arrêter cet en-tête en adresse absolue et réécrire un en-tête différent pour les 2 sites (ça va qu'il y en a que 2 ;) )

Aussi, qu'entendent exactement OVH par
Dans un souci d'amélioration et de sécurisation des services OVH, nous sensibilisons nos clients sur l'abandon des anciennes
versions de PHP, qui ne sont plus maintenues par l'éditeur.

Cela concerne actuellement les versions PHP 4 ainsi que 5.3 et inférieures.

Il est possible que, dans le futur, nous soyons contraints de ne plus supporter ces versions obsolètes. Ainsi, il est recommandé
de veiller à la mise à jour régulière de vos pages.
Que se passera-t-il si je prends du retard dans mes modifs ?

Encore merci à vous.
 
Dernière édition: