Template PHP5

  • Auteur de la discussion Auteur de la discussion HEC
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

J'ai posé cette question en répondant sur un autre post mais je pense qu'il est fermé alors je reviens vers vous avec cette question :

Mon site est actuellement en html et je souhaiterais utiliser le php pour faciliter les modifications effectuées sur toutes mes pages (header, footer notament).
J'ai testé en insérant le code suivant :

<?php include("../../mime/templates/header.html"); ?> qui fonctionnait bien sur un ancien site mais apparemment cela ne fonctionne pas avec la version PHP 5 de mon hébergeur et l'erreur suivante apparait :

Warning: include() [function.include]: open_basedir restriction in effect. File(../../mime/templates/header.html) is not within the allowed path(s): (/var/www/vhosts/monsite.fr/httpdocs:/tmp) in /var/www/vhosts/monsite.fr/httpdocs/index1.php on line 1
Warning: include(../../mime/templates/header.html) [function.include]: failed to open stream: Operation not permitted in /var/www/vhosts/monsite.fr/httpdocs/index1.php on line 1
Warning: include() [function.include]: Failed opening '../../mime/templates/header.html' for inclusion (include_path='.:/usr/share/pear') in /var/www/vhosts/monsite.fr/httpdocs/index1.php on line 1

Je ne parvient pas à trouver le script qui convient pour cette fonction (je ne comprends rien à ce que je trouve en fait...), pourriez-vous m'aider?

Merci !
 
WRInaute occasionnel
Colle ca :
Code:
SetEnv PHP_VER 4
au debut de ton .htaccess a la racine de ton site, normalement ca passera a la version 4 de php.

On sait jamais... :D
 
WRInaute accro
Le problème ne vient pas de php5, mais de la configuration de l'hébergeur qui refuse l'inclusion du fichier à cet emplacement.

Vérifie que le chemin est correct, voir tente mettre le chemin absolu au lieu d'un chemin relatif.
 
Nouveau WRInaute
J'ai vérifier le chemin et essayer l'url absolue mais ça marche pô :roll:
Je vais essayer avec le fichier .htaccess...
Merci!
 
WRInaute discret
Je pense que le problème vient du fait que tu utilise 2 fois : ../

Je sais que j'avais eu ce problème une fois et je l'ai résolu en faisant : / (c'est à dire à la racine du site)

Enfin je ne suis pas vraiment sûr...
 
Nouveau WRInaute
Et bien je vais tenter la racine du site parce que le .htaccess ne fonctionne pas non plus :cry:
Merci
 
WRInaute occasionnel
Problème de repertoire tout simplement.

l'adresse que tu indiques est mauvaises, faudrait qu'on sache ou se trouve le fichier que tu essai de mettre en include et ou tu veux le mettre.
On pourrai peut être t'aider si tu y arrives pas
 
Nouveau WRInaute
Et bien je vais tout te dire et...

... si quelqu'un peut m'aider ce serait... ouahou! Parce que là je m'arrache les cheveux (non je plaisante ! mais quand même...).

Voici le lien de ma page test :
http://www.hommes-entreprises-centre.fr ... p/test.php
J'ai aussi fait un essai avec l'index :
http://www.hommes-entreprises-centre.fr/index1.php

J'ai mis l'url absolu des fichiers à inclure, à savoir header.html (<?php include("http://www.hommes-entreprises-centre.fr/mime/templates/header.html"); ?> ) qui contient mes balises meta et liens vers mes feuilles de styles) et footer ("http://www.hommes-entreprises-centre.fr/mime/templates/footer.html"); ?> ). J'aimerai aussi inclure mes menus principaux mais bon, je le ferai quand j'aurai (ou vous aurez :) ) trouvé le bug.

J'ai vérifié mes chemins, ils sont corrects (je les ai même tapé directement dans la barre d'adresse et c'est ok...). Mes scripts sont placés au bon endroit mais ça marche pas.

MERCI D'AVANCE POUR VOTRE AIDE 8O
 
WRInaute impliqué
HEC a dit:
<?php include("../../mime/templates/header.html"); ?> qui fonctionnait bien sur un ancien site mais apparemment cela ne fonctionne pas avec la version PHP 5 de mon hébergeur et l'erreur suivante apparait :

Warning: include() [function.include]: open_basedir restriction in effect. File(../../mime/templates/header.html) is not within the allowed path(s):

Ce n'est pas du a PHP5 mais a des restrictions mise en place par l'hebergeur et qui sont normales.

En gros si le script qui fait l'include est a la racine du site c'est a dire il y a des chances que ce soit par exemple par rapport a la racine du disque dur sous un /home/userX/html/ le fait de faire un include de ../../ reviens a remonter plus haut que html et redescendre sous mime/templates il y a fort a parier que dans les directives du serveur php n'ai pas le droit pour des raisons de sécurité de remonter plus haut que html.

Faire déjà un petit test en mettant header.html dans le même dossier, puis le remonter d'un cran bref la solution n'est pas loin.

ARRRRRF je modifie mon post j'avais pas vu qu'il y avait les url et que l'on pouvait voir les messages d'erreur normalement ça devrait fonctionner c'est extrêmement bizarre faire un test en mettant directement le chemin absolu :
<?php include("/var/www/vhosts/hommes-entreprises-centre.fr/httpdocs/mime/templates/header.html"); ?>

A+
 
Nouveau WRInaute
Ca marche !!!!!
J'aime les journées qui commencent bien :D
Bon et bien j'ai plus qu'à tout passer en php moi!
MERCI !!
A bientôt...
 
WRInaute impliqué
Ce que tu peux faire pour garder de la souplesse c'est mettre le chemin absolu dans une variable comme cela si tu change d'hebergement tu n'auras pas a passer sur tout tes scripts ou en tous les cas que a l'endroit où tu auras la définition des varibles
Code:
<?php 
$monchemin="/var/www/vhosts/hommes-entreprises-centre.fr/httpdocs/";

include($monchemin."mime/templates/header.html"); 
?>
A+
 
Nouveau WRInaute
Ok c'est noté! Merci encore et à bientôt je pense (d'autres projets en tête qui me feront certainement revenir par ici :-) )
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut