Aller au contenu

Free et PHP


eurisko

Sujets conseillés

Bonjour,

Sur le site, j'utilise un "include" pour appeler un menu déroulant assez lourd et susceptible d'évoluer souvent.

Tout fonctionnait à merveille depuis janvier 2006 mais mardi, je me suis aperçu que le menu ne s'affichait plus mais l'erreur:

<b>Warning</b>:  main(http://membreaquamar.free.fr/menu.html) [<a href='function.main'>function.main</a>]: failed to open stream: Connection timed out in <b>/mnt/112/sdb/2/3/membreaquamar/index.php</b> on line <b>94</b><br />
<br />
<b>Warning</b>:  main() [<a href='function.include'>function.include</a>]: Failed opening 'http://membreaquamar.free.fr/menu.html' for inclusion (include_path='/mnt/112/sdb/2/3/membreaquamar/include:.:/usr/php4/lib/php') in <b>/mnt/112/sdb/2/3/membreaquamar/index.php</b> on line <b>94</b><br />.
94 est la ligne de l'include.

Que signifie ce message?

J'ai essayé de charger quelques unes de ces pages dans un répertoire d'autres sites sur Free. Même erreur.

La hotline n'a fait que constater et l'équipe technique n'a pas encore répondu à mon mail.

Qu'en pensez-vous?

Merci :rolleyes:

EDIT TheRec/Modérateur: Utilise les BBCode pour présenter tes codes, tes citations, etc. Si tu as besoin d'aide à ce sujet utilise le lien "Aide BB Code" qui se trouve en dessous de la liste d'émoticons lorsque tu rédiges un message. Merci de tenir compte de ceci à l'avenir. Ton message a été édité dans ce sens.

Lien vers le commentaire
Partager sur d’autres sites

bonjour,

Le dode de la ligne dont le numéro figure sur chaque warning est

<? php include "http://membreaquamar.free.fr/menu.html"; ?>

Depuis hier soir, un peu plus de pages sont accessibles. Selon les sessions, je peux afficher 40 ou 50% des pages.

Il ne s'agit plus cette fois d'un message d'erreur "page indisponible" mais de pages affichées avec ou sans le menu appelé (et warning).

Ce ne sont jamais les mêmes pages qui sont affichées sans le menu.

De toute manière la structure des pages est un copié/collé. S'il y avait une erreur de code, tout devrait être affiché, ou aucune page ne devrait l'être, ou bien encore, les pages non affichées seraient toujours les mêmes.

Je ne comprends pas... :blink:

Lien vers le commentaire
Partager sur d’autres sites

Comme free a certaines limitations de PHP (je n'ai pas de phpinfo sous la main), il est possible qu'il ne supporte pas (ou supporte mal) les inclusions absolues.

Remplace tes codes par

<?php include "menu.html"; ?>

, ça devrait marcher beaucoup mieux avec des urls relatives.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour cette proposition d'adressage relatif que je vais essayer,

mais alors, si l'erreur vient de là, l'include n'est plus intéressant.

En effet, j'avais choisi l'adressage absolu car je ne voyais pas comment faire autrement dans le cadre d'un menu déroulant et de l'arborescence :

comment savoir si dans une rubrique ayant plusieurs sous-menus, le visiteur souhaite changer de dossier (href="../adresse.html") ou choisir un sous-menu du même dossier (href="adresse.html")?

J'avais choisi d'inclure une adresse absolue pour pouvoir répercuter les changements sur les nombreuses pages en une seule opération.

S'il faut multiplier les menus, autant rester en HTML.

Je vais essayer de voir sur l'assistance de FREE (hélas, il faut attendre la réponse à la question posée avant de pouvoir en poser une autre).

Mais c'est une piste intéressante.

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Attention free mets à jours son architecture de pages perso d'ou certains bugs et plantages de serveurs. Les bugs sont trackés et la situation tend à s'améliorer depuis hier.

Pour se tenir au courant, il faut aller sur le newsgroup proxad.free.services.pagesperso ;)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Tu peux par exemple, en haut de chaque page et avant ton include, ajouter une variable comme suit :

$chemin = "../";

Et ensuite dans ton include :

include($chemin."monscript.php");

Portekoi

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'avais choisi d'inclure une adresse absolue pour pouvoir répercuter les changements sur les nombreuses pages en une seule opération.

S'il faut multiplier les menus, autant rester en HTML.

/dossier1/dossier2/menu.php est aussi un chemin absolu ;)

La deuxième solution consiste à rendre dynamique le chemin (relatif) de ton fichier en analysant ta "position"... <edit>Il y a aussi la solution de Portekoi (que je n'avais pas vue)</edit>

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

je mélange tout, heureusement vous êtes patients.

Effectivement, je pourrais indiquer le chemin du menu comme Norseb ou captain_torche l'ont indiqué.

En revanche je ne sais comment analyser la position du visiteur. comme Norseb le suggère.

la solution de Portekoi est également intéressante.

L'exemple que j'ai donné plus haut était surtout relatif aux liens du menu:

Si le visiteur est déjà dans le dossier 2 et qu'il veuille consulter le fichier "bonjour.html" qui est dans le dossier 2 : href="bonjour.html"

Si le visiteur est dans le dossier1 et qu'il veuille consulter le fichier "bonjour.html" dans le dossier2 : href="../dossier2/bonjour.html"

C'est simple avec un adressage différent sur chaque page. Mais puisque le menu est appelé par inclusion, donc unique, ne connaissant pas la position du visiteur, il m'a semblé préférable d'adresser d'une manière absolue (du moins je n'ai pas su faire autrement).

Sébastien dit que Free met à jour ses pages perso (ce que mon correspondant de la hotline ignorait puisque je le lui ai demandé) et que mon site a tourné 4 mois sans difficulté la réponse est peut-être là.

Je vais cependant retenir vos interventions et m'en servir.

Merci :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Captain Torche suspectait des limitations PHP chez Free qui supporterait mal les inclusions absolues.

J'ai donc suivi vos conseils et ai indiqué un chemin relatif :../menu.php.

Les pages ainsi modifiées s'affichent comme auparavant. Je vais donc continuer ainsi.

Merci à tous :hourra:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...