include ne fonctionne plus

Nouveau WRInaute
Bonjour ou plutot bonsoir

voila, j'ai un gros pb avec mon site :
le menu était inséré avec un include et ce dernier ne fonctionnent plus et je ne sais pas pourquoi
mes menus ont complètement disparu, j'ai pensé au depart a un hack mais le code n'a pas été modifié

ca ne vient pas de l'hebergeur car j'ai un autre site qui lui fonctionne très bien

Si vous savez d'ou peut venir ce pb ou m'aiguiller, je vous en serai très reconnaissant

ps : c'est le site de mon profil

merci d'avance
 
Nouveau WRInaute
oui bien sur ;) et ca marchait très bien jusqu'a dernierement

il y en avait mm plusieurs pour tout dire, un pour menu coté et un pour menu bas

mais curieusement, c tous les include qui ne fonctionne plus
pour illustrer : -http://www.lesperlesdunet.net/cinema.php
il y a un include qui vient d'un site externe sur cette page qui ne s'affiche pas non plus
c'est comme si c'était desactivé sur mon site :roll:
 
WRInaute accro
Hébergeur qui change de php ? (Chez OVH, c'est d'actualité, et ton instruction ne serait plus reconnue ? Je cherche...)

Edit : fais gaffe, en plus, tu as des Adsense sur des pages vides, du coup.
 
Nouveau WRInaute
NxtGen a dit:
les erreurs php sont activées sur ton serveur ?
ca t'en dirait surement plus :)
et comment est-ce qu'on fait ca?
je suis chez hiwit, petit hebergement, je sais pas si je dispose de cette option?
 
WRInaute accro
Quelle syntaxe utilises-tu pour inclure ?

Ca se trouve, après une mise à jour, d'anciennes syntaxes de fonctionnent plus !
 
WRInaute accro
As tu essayé de réuploader les includes ?
(parfois ils peuvent simplement s'effacer...)

Ou en est tu de ta capacité d'hébergement (quotas atteint ???)
 
WRInaute impliqué
snooze a dit:
NxtGen a dit:
les erreurs php sont activées sur ton serveur ?
ca t'en dirait surement plus :)
et comment est-ce qu'on fait ca?
je suis chez hiwit, petit hebergement, je sais pas si je dispose de cette option?

En php, tu peux essayer de mettre ca en entete d'un fichier
Code:
<?
ini_set("display_errors", "On");
?>

ca doit aussi étre possible de le faire via un htaccess mais je ne connais pas la syntaxe.
 
Nouveau WRInaute
Thierry Bugs a dit:
As tu essayé de réuploader les includes ?
(parfois ils peuvent simplement s'effacer...)

Ou en est tu de ta capacité d'hébergement (quotas atteint ???)
Je viens de reuploader, rien n'a changé
Le quota n'est pas atteint, j'ai encore de la marge

@ NextGen : j'ai placé ce bout de code mais je ne sais pas quoi en faire, en tt cas, il ne se passe rien

Voici la synhaxe que j'utilise; classique :
Code:
 <?php
@include('http://www.lesperlesdunet.net/menu-include.php'); 
?>
 
WRInaute accro
Effectivement enlève le @

Ensuite tu peux essayer de faire ton include avec un chemin relatif, ou au contraire avec le chemin absolu à partir de la racine de ton hébergeur (et pas du site) c'est le chemin qui apparait quand tu as une erreur de parsing par exemple
 
WRInaute occasionnel
Je me disait bien qu'il manquait quelque chose sur ce site, j'y suis allé cet après-midi pour inscrire plusieurs sites et je me suis dit mais ou et le lien ajouter un site!!!! :D

Je l'ai trouvé avec la commande

site:www.lesperlesdunet.net soumettre

et je les ai quand même inscrit.

Bon excuse moi pour ça, je suis justement tombé dessus et ça m'a fait alluciner.

Tu devrais te dépêcher de trouver ce que c'est, et mettre en html provisoirement le menu, si le robot google passe il va désindexer des page qui ne sont plus liées par rien!

Essaye de reprendre les événements métodiquement depuis que ça marchait, qu'a tu fais exactement?
 
WRInaute impliqué
oui normal, le @ en php permet de masquer les erreurs...
Donc du coup, maintenant que tu as l'erreur, tu dois pouvoir voir d'ou ca viens :)

Edit : bah apparement t'a tout réparé, c'était quoi alors ? :)
 
Nouveau WRInaute
Ce n'est pas réparé, j'ai remis le code en html sur la partie annuaire du site en attendant de trouver d'ou vient le problème :?

Je vais essayer de remodifier le code voir si ça proviendrait de là

Voici les mesage d'erreur qui apparaissent qd j'enleve le @ :
Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/lesperle/web/www/index.php on line 112

Warning: include(http://www.lesperlesdunet.net/menu-include.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/lesperle/web/www/index.php on line 112

Warning: include() [function.include]: Failed opening 'http://www.lesperlesdunet.net/menu-include.php' for inclusion (include_path='.:/usr/local/php-5.2.4/lib/php') in /home/lesperle/web/www/index.php on line 112
Ca viendrait de l'hebergeur d'apres vous?
 
WRInaute passionné
le @ devant une fonction désactive les message d'erreur uniquement pour la dite fonction.

Autrement, je ne sais pas comment tu appelle ton include, mais tu as trois possibilités :


Code:
include(http://www.example.com/Dossier1/Dossier2/fichier.php'); // Certains hébergeurs le désactivent pour que tu ne puisse pas inclure un fichier distant, source de piratage potentiel.

include(Dossier1/Dossier2/fichier.php'); // Peut ne pas marcher suivant les config

include($_SERVER['DOCUMENT_ROOT'].'/Dossier1/Dossier2/fichier.php'); // Fonctionne sans problème logiquement, quelque soit ta config

En relisant ton message, tu es dans le premier cas ; ceci explique cela : ton hébergeur à désactivé cette option pour éviter que tu puisse inclure un script distant contenant un code PHP qui serait exécuté sur ton serveur.
 
Nouveau WRInaute
medium69 a dit:
En relisant ton message, tu es dans le premier cas ; ceci explique cela : ton hébergeur à désactivé cette option pour éviter que tu puisse inclure un script distant contenant un code PHP qui serait exécuté sur ton serveur.
Qu'est-ce que je dois mettre comme code alors maintenant ?

voici le code que j'utilisais, et qui semble désormais poser pb :
Code:
<?php 
@include('http://www.lesperlesdunet.net/menu-include.php'); 
?>
 
WRInaute impliqué
snooze a dit:
Qu'est-ce que je dois mettre comme code alors maintenant ?

voici le code que j'utilisais, et qui semble désormais poser pb :
Code:
<?php 
@include('http://www.lesperlesdunet.net/menu-include.php'); 
?>

et
Code:
<?php 
include('menu-include.php'); 
?>
tout simplement, ca ne fonctionnerait pas ?
 
WRInaute accro
Le must est d'utiliser une variable contenant le chemin interne vers cette page et faire un truc du genre:

Code:
<?php
include($root.'menu-include.php');
?>

$root peut contenir par exemple dans ton cas : /home/lesperle/web/www/

Ce qui donnerait

Code:
<?php
include('/home/lesperle/web/www/menu-include.php');
?>
 
WRInaute passionné
YoyoS a dit:
Le must est d'utiliser une variable contenant le chemin interne vers cette page et faire un truc du genre:

Code:
<?php
include($root.'menu-include.php');
?>

$root peut contenir par exemple dans ton cas : /home/lesperle/web/www/

Ce qui donnerait

Code:
<?php
include('/home/lesperle/web/www/menu-include.php');
?>

C'est ou

Code:
include('menu-include.php');

ou

Code:
include($_SERVER['DOCUMENT_ROOT'].'menu-include.php');

qui correspond à tous les cas même en cas de changement d'hébergeur
 
WRInaute accro
A d'accord, c'est sur et certain ça ? J'vais remplacer mes variables par ce $_SERVER['DOCUMENT_ROOT'] partout alors :)

Thx !
--
Je viens de tester, mais ce que t'as pas dit, c'est que la variable $_SERVER['DOCUMENT_ROOT'] pouvait changer en fonction du répertoire ou on se trouve. Ca ne m'arrange pas vraiment ;)

Bon je vais continuer a utiliser ma variable, çça me convient mieux ;)
 
WRInaute accro
medium69 a dit:
Code:
include($_SERVER['DOCUMENT_ROOT'].'menu-include.php');

qui correspond à tous les cas même en cas de changement d'hébergeur

ou de changement de point de montage de ta partition chez le même hébergeur ... (déjà eu un prob de ce genre)
 
WRInaute passionné
YoyoS a dit:
A d'accord, c'est sur et certain ça ? J'vais remplacer mes variables par ce $_SERVER['DOCUMENT_ROOT'] partout alors :)

Thx !
--
Je viens de tester, mais ce que t'as pas dit, c'est que la variable $_SERVER['DOCUMENT_ROOT'] pouvait changer en fonction du répertoire ou on se trouve. Ca ne m'arrange pas vraiment ;)

Bon je vais continuer a utiliser ma variable, çça me convient mieux ;)

$_SERVER['DOCUMENT_ROOT'] te produit : /home/lesperle/web/www/ ; après si tu as des répertoires, il faut les ajouter après la variable serveur
 
WRInaute accro
Ce que je veux dire, c'est si tu te trouves dans /images/ par exemple. La variable va te sortir: /home/lesperle/web/www/images

C'est plus utile à ce moment la, si tu veux garder le répertoire /home/lesperle/web/www fixe

Evidemment, si vous avez tous vos fichiers php à la base de votre site, vous n'avez jamais remarqué cela. Vous n'avez pas de problème puisque la valeur donnée par la variable sera toujours la même.

je viens de faire le test:

Je crees un fichier index.php à la racine du site avec un echo $_SERVER['DOCUMENT_ROOT'];

je fais de même avec un fichier index.php qui se trouve dans un sous dossier nommé "includes" par exemple, j'obtiens autre chose.

C'est donc la racine du document et non la racine du site ! Hors, moi je suis interessé par une variable contenant en permanence la racine du site et non du document en cours :mrgreen:
 
WRInaute passionné
Là tu m'étonne... $_SERVER['DOUMENT_ROOT'] ne donne que le chemin jusqu'au domaine... pas à un dossier de ce domaine.
 
Nouveau WRInaute
Code:
 include('menu-include.php');

Le message qui apparait si je mets ce code :
Fatal error: Cannot redeclare diff_date() (previously declared in /home/lesperle/web/www/index.php:19) in /home/lesperle/web/www/menu-include.php on line 12

Code:
include($_SERVER['DOCUMENT_ROOT'].'menu-include.php');

Voila le message d'erreur qui apparait qd je mets ce code :
Warning: include(/home/lesperle/webmenu-include.php) [function.include]: failed to open stream: No such file or directory in /home/lesperle/web/www/index.php on line 113

Warning: include() [function.include]: Failed opening '/home/lesperle/webmenu-include.php' for inclusion (include_path='.:/usr/local/php-5.2.4/lib/php') in /home/lesperle/web/www/index.php on line 113

J'ai modifié le code comme ceci (pour voir ) :
Code:
include($_SERVER['DOCUMENT_ROOT'].'www/menu-include.php');
La aussi message d'erreur

Je vais envoyer un message a mon hebergeur voir si le pb vient de chez lui
Je vous tiens au courant !
 
Nouveau WRInaute
Réponse de Hiwit :

il sagit du passage par default a
php5

les include avec url y sont bloqué par securitée. concernant les includes
sur le site il faut donc utiliser l'emplacement absolu du fichier

/home/login/web/www/dossier/fichier ;)

Voilà, le pb vient donc bien de l'hebergeur, deja une chose de fait

Maintenant, le pb est que je n'y connais pas gd chose, j'ai tenté de modifer mon code avec ce qu'il m'a été indiqué mais ca ne fonctionne pas
Mon fichier include se trouve a la racine du site
Mais c'est au niveau de mon login que je ne sais pas koi mettre : lesperle?
 
WRInaute accro
Dans tous les messages d'erreur sur ton site, tu as le chemin précis ;)
Et aussi dans la variable dont on a parlé précédemment.
 
Nouveau WRInaute
En me basant sur les messages d'erreurn j'en ai déduis ce code :

Code:
<?php 
include('home/lesperle/web/www/menu-include.php'); 
?>

Mais vola le message d'erreur qui s'affiche :

Warning: include(home/lesperle/web/www/menu-include.php) [function.include]: failed to open stream: No such file or directory in /home/lesperle/web/www/index.php on line 112

Warning: include() [function.include]: Failed opening 'home/lesperle/web/www/menu-include.php' for inclusion (include_path='.:/usr/local/php-5.2.4/lib/php') in /home/lesperle/web/www/index.php on line 112

Où ai-je mal déduit?
 
WRInaute passionné
snooze a dit:
En me basant sur les messages d'erreurn j'en ai déduis ce code :

Code:
<?php 
include('home/lesperle/web/www/menu-include.php'); 
?>

Mais vola le message d'erreur qui s'affiche :

Warning: include(home/lesperle/web/www/menu-include.php) [function.include]: failed to open stream: No such file or directory in /home/lesperle/web/www/index.php on line 112

Warning: include() [function.include]: Failed opening 'home/lesperle/web/www/menu-include.php' for inclusion (include_path='.:/usr/local/php-5.2.4/lib/php') in /home/lesperle/web/www/index.php on line 112

Où ai-je mal déduit?

Met sur un fichier dans le même répertoire que ton include un

Code:
echo $_SERVER['DOCUMENT_ROOT'];

Je ne comprend vraiment plus là :cry:

à mois qu'il manque un antislash dans la solution que je te proposait :oops: :

Code:
include($_SERVER['DOCUMENT_ROOT'].'/menu-include.php');

Autant pour moi... c'est bien l'antislash qui manquait :wink:
 
Nouveau WRInaute
medium69 a dit:
Met sur un fichier dans le même répertoire que ton include un

Code:
echo $_SERVER['DOCUMENT_ROOT'];
Je crée un fichier root.php par exemplee et j'insère ce code, c'est bien ça?
C''est en tout cas ce que j'ai fait et il ne se passe rien

Tu appelle bien un fichier situé sur le même serveur au moins ??
Oui bien sur ;) dans le même répertoire m^me

Encore merci pour votre bonne volonté, j'avoue que cette histoire commence a me prendre le chou (pour ne pas dire autre chose)
 
WRInaute accro
snooze a dit:
(...) Encore merci pour votre bonne volonté, j'avoue que cette histoire commence a me prendre le chou (pour ne pas dire autre chose)
Un sourire, alors ?
Quand include ne fonctionne plus, il faut d'abord penser à remplacer ses piles :)
 

➡️ 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