eurisko Posté 10 Mai 2006 Posté 10 Mai 2006 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 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.
eurisko Posté 10 Mai 2006 Auteur Posté 10 Mai 2006 Bonsoir, Entendu, j'utiliserai dorénavant les BB codes que je viens d'explorer (à bon escient car la facétie me titille...) . Merci d'avoir corrigé le post
eurisko Posté 11 Mai 2006 Auteur Posté 11 Mai 2006 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...
captain_torche Posté 11 Mai 2006 Posté 11 Mai 2006 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.
eurisko Posté 11 Mai 2006 Auteur Posté 11 Mai 2006 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.
Sebastien Posté 11 Mai 2006 Posté 11 Mai 2006 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
Portekoi Posté 11 Mai 2006 Posté 11 Mai 2006 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
captain_torche Posté 11 Mai 2006 Posté 11 Mai 2006 Ou sinon, tu peux également appeler les fichiers, relativement à la racine du serveur : <?phpinclude '/chemin_vers_le_fichier/fichier.php';?>
NorSeb Posté 11 Mai 2006 Posté 11 Mai 2006 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>
eurisko Posté 11 Mai 2006 Auteur Posté 11 Mai 2006 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
eurisko Posté 11 Mai 2006 Auteur Posté 11 Mai 2006 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant