Aller au contenu

repertoire de base d'un site web


sguillard

Sujets conseillés

Bonjour,

Je viens de commencer mon site en PHP et contrairement à d'habitude la racine du site n'a pas l'air d'être mon repertoire "www" où est installé mon "easyphp" à savoir "D:\perso\EasyPHP1-8\www". En effet j'ai créé une page "accueil.php" dans mon repertoire de base "www" avec un "<? include "/generic/menu.php" ?>" et il ne trouve pas mon fichier "D:\perso\EasyPHP1-8\www\generic\menu.php". J'ai l'erreur suivante :

Warning: main(/generic/menu.php): failed to open stream: No such file or directory in d:\perso\easyphp1-8\www\accueil.php on line 9

Warning: main(): Failed opening '/generic/menu.php' for inclusion (include_path='.;D:\perso\EASYPH~1\\php\pear\') in d:\perso\easyphp1-8\www\accueil.php on line 9

Une idée sur la question ? Je dois definir mon repertoire racine (genre document_root) dans un fichier de conf ? Ce n'est pas fait dans l'instal de base ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Sous Linux, je te dirais certainement d'enlever le "/" initial dans "/generic/menu.php", mais sous Windows il se peut que la syntaxe pour les chemins de fichiers suive une autre logique.

Pour ne rien laisser au hasard, essaye quand même avec :

<? include "generic/menu.php" ?>

Lien vers le commentaire
Partager sur d’autres sites

effectivement ca fonctionne comme cela pour ma page d'accueil mais le probleme c'est que cet "include" va se retrouver dans différentes pages qui seront dans des sous reperoitoires. J'ai donc besoin d'un chemin absolu (par rapport à la racine de mon site).

Par ailleurs comme tu fais reference à UNIX, comment gérer les noms de chemin entre un dev sous windows sur mon PC (avec des "\") et le passage en "prod" chez mon hebergeur sous UNIX (avec des "/") !!!

Lien vers le commentaire
Partager sur d’autres sites

Il me semble qu'à partir de Windows 2000/XP, php ne fait pas la différence entre les slash "/" et les anti-slash "\". La preuve, le bout de code que je t'ai donné fonctionne sous windows avec des "/". Donc, à moins que tu ne sois avec un Windows 95/95/Me/..., tu dois pouvoir utiliser les slash comme sous UNIX.

Pour ce qui est du chemin absolu, en me basant encore une fois sur le comportement de Linux, l'utilisation du "/" te fait remonter au tout début de l'arborescence, c'est à dire dans ton cas, à l'unité D:. Autant donc essayer avec une syntaxe plus familière à Windows :

<? include "d:\perso\easyphp1-8\www\generic\menu.php"; ?>

Evidemment, ça n'arrange pas la compatibilité avec ton hébergeur. Pour définir l'équivalent d'un DocumentRoot, tu as la directive de configuration doc_root, mais je ne l'ai jamais utilisée.

Bonne chance :)

Lien vers le commentaire
Partager sur d’autres sites

il y a plusieurs php.ini (apache, conf_files et php). J'ai tenté celui dans le repertoire "php" avec le ligne suivante mais pas plus de succes :(

doc_root = "D:\perso\EasyPHP1-8\www"

Des spécialistes de la question ?

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Je me suis pris 15 000 fois la tête à propos de ce sujet pour l'élaboration d'un nouveau site en php avec les fameux includes avec des pages dans différents répertoires :wacko:

J'ai craqué.

Voici ce que j'ai fait :

  • toutes les includes dans "includes/fichier.php"
  • toutes les pages xhtml à la racine du site

(testé sur easyphp et sur un dossier "test" chez free)

bon courage

bye

Lien vers le commentaire
Partager sur d’autres sites

Merci pour l'info, ça m'évitera 15 000 prises de tête :) Je garde ça sous le coude en priant à une eventuelle solution.

Est ce que quelqu'un a poussé jusqu'à 20 000 prises de tête et en a soorti une soltuion ?

Lien vers le commentaire
Partager sur d’autres sites

En surfant sur le net j'ai trouvé une solution :) donc je vous la livre :

<? include ($_SERVER["DOCUMENT_ROOT"]."/generic/menu.php") ?>

ca fonctionne sur mon PC en windows et chez mon hebergeur.

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...