8792 sujets

Développement web côté serveur, CMS

Bonjour

J'ai chercher des réponses sur le forum mais n'ai pas trouver correspondant au mieux a ma question. N'étant pas encore un érudit en php et vu qu'à ce jour l'inclusion
<?php 
include ('menu.txt')
?> 
ou avec require a toujours fonctionner notament chez l'hebergeur online et free. Là je suis sur un serveur quebecois et voilà ce que j'ai comme résultat :

Warning: main(menu.txt) [function.main]: failed to open stream: No such file or directory in /home/www/monsite.eu/index.php on line 47


Warning: main() [function.include]: Failed opening 'menu.txt' for inclusion (include_path='.:/opt/php/lib/php') in /home/www/monsite.eu/index.php on line 47


ma question est-ce un problème de code ou est-ce un problème du au serveur ? Bon d'apres eux c'est un problème de langage donc me renvois au php.
Merci pour vos futurs réponses Smiley sweatdrop
Bonjour,

Pour ma part, ce que je comprends des erreurs renvoyées, cest que le serveur ne trouve tout simplement pas le fichier inclus menu.txt

Es-tu sûr de son eplacement et de sa présence dans le répertoire ? Smiley murf
Salut Cygnus

Oui en effet c'est le fichier qui n'a pas été trouvé, et là y a peine quelque minute je viens d'apprendre que sur online ils ont indiqué dans le module php le chemin du dossier includes.
Dans quel fichier je ne sais pas exactement, et ils l'ont fait question de sécurité.

Je suis a la recherche du mystère.

Mon mea culpa au moderateur qui a dû déplacer mon post, comme tout nouveau faut s'habituer a trouver les bons lieux.
Administrateur
la directive include_path de la configuration PHP définit l'ordre de recherche des répertoires pour les inclusions de fichiers.

on peut très bien avoir par défaut :
[/code]include_path = ".:/usr/share/php:/usr/share/adodb"[/code]
la séparation est faite avec les deux-points.
le premier point signifie "répertoire courant".

ainsi, le fichier est d'abord recherché dans le répertoire courant du script, puis dans les suivants.

si l'hébergeur a modifié cette directive, il me semble peu possible de passer outre, mais cela réduit considérablement l'intérêt de php.
Oui Dew

Cela est du coté OS (SE) du serveur dont je n'ai pas acces. Faudrat que j'explique cela à eux, et là ils me diront qu'ils le savent, maintenant s'ils le savent vraiment ?
donc avant que je leur demande de faire des modifs faut que moi je connaisse bien le rayon pour ne pas avoir l'air bête ou prétentieux Smiley rolleyes

Maintenant si quelqu'un connait un moyen pour que je puisse indiquer le chemin du dossier /include/ et en garantir la sécurité, pas que ça ouvre une faille !
Smiley confus
Modifié par Oron (21 Mar 2007 - 00:50)
Salut,
je sais que c'est casse... pied pour les tests en local mais si tu tombes sur des obtus Smiley smile essaye l'include avec l'url
include "http://monjolisite.com/blabla.php";

c'est valide et ni moins ni plus sûr qu'un chemen relatif.

Tu peux aussi faire un phpinfo() et faire l'include avec le chemin absolu sur le serveur mais c'est galère si ton site change de machine pour des raisons de maintenance ou autre.

Mais bon, bizarre ton histoire de chgt de l'include_path, comme le dit dew, ça n'a pas de sens en php...

have swing
Administrateur
Bonjour,

cet hébergeur (online.net ou bien online-hebergement... d'ailleurs?) n'a-t'il pas une FAQ ou des conseils aux webmasters sur son site? C'est peut-être pour empêcher d'inclure autre chose que leurs scripts ou par sécurité par défaut Smiley confuse (pas la meilleure idée du siècle m'enfin s'ils s'expliquent quelque part ça serait chouette).
Felipe

Chez online.net ça fonctionne , le probleme est pas chez eux, mais chez un hebergeur quebecois.

Et ce dossier /include/ son chemin doit être indiquer dans le module php pour que ça fonctionne. include_path où exactement a quel endroit, quel fichier je ne sais pas. Donc faudrait que j'ai l'information exact afin que je puisse dire à cet hébergeur canadien ce qu'il y a lieu de faire, si je lui dit pas que tel ou tel chelin doit etre configure, il va me renvoyer au langage php et me dire bêtement que c'est pas un probleme de leur ressort!
Et chez ce quebecois y a pas d'information sur ça, vu que eux n'ont pas configurer ce fameux dossier /include/.

Et la question que j'ai poser sur le forum, n'a pas eu de reponses à croire que personne connait ce fameux dossier /include/ dans lequel on mets le fichier qu'on veut appeler dans n'importe quel dossier du site!! sans devoir mettre le chemin /menu.txt ou ../menu.txt.

mais simplement
<?php include ('menu.txt'); ?>

Apres tu prends ça et tu colles dans tous les pages du site.
Ou alors tu as un texte que tu veux changer regulierement, donc au lieu de reprendre ta page web, tu fais juste un fichier avec ton texte.

C'est simple pour ceux qui veulent bien comprendre ! Smiley biggrin Smiley smile