Page 1 sur 1

probleme de mise en ligne site php

Posté : 10 nov. 2007, 00:16
par alexx13
Bonjour,

J'ai creer un site en php en ne me servant que de la fonction include cet a dire comme la photo : http://css.alsacreations.com/xmedia/exe ... cle01b.gif

Je l'ai créeer sur mon servaur local localhost, tout fonctionne tres bien. J'ai voulu le mettre en ligne sur un serveur distant et voila ce qui se passe quand je vais dessus :


Warning: Unknown(): open_basedir restriction in effect. File(D:\www\mon-site.fr\htdocs\index.php) is not within the allowed path(s): (c:/www/mon-site.fr/htdocs) in Unknown on line 0

Warning: Unknown(D:\www\mon-site.fr\htdocs\index.php): failed to open stream: Operation not permitted in Unknown on line 0

Warning: (null)(): Failed opening 'D:\www\mon-site.fr\htdocs\index.php' for inclusion (include_path='.;./pear;./includes') in Unknown on line 0


Je suis perdu, depuis deux jour je cherche la solution en vain .

Si quelqu'un peut m'aider merci beaucoup.

Configuration:
Windows XP
Firefox 2.0.0.9

dreamweaver 8

Re: probleme de mise en ligne site php

Posté : 10 nov. 2007, 00:33
par Calimero
Bonsoir,

Le problème vient du fait que dans tes include() , tu as spécifié le chemin d'accès au fichier à inclure de manière absolue, comme le message d'erreur te l'indique. Sur ton serveur d'hébergement les chemins d'accès aux fichiers sont différents, et donc les fichiers n'ont pas pu être trouvés par include() .

La solution pour éviter le problème, et que ton site fonctionne aussi bien sur chaque machine, est de spécifier les chemins d'accès aux fichiers à inclure de manière relative.
// Si le fichier dans lequel on se trouve se situe à la racine de ton site web, il faudrait transformer ceci :
include("D:\www\mon-site.fr\htdocs\unfichier.php");
// en ça :
include("./unfichier.php");
Dans la ligne que je te propose, le point désigne le répertoire courant (pour n'importe quel répertoire). Cela suppose donc que le fichier appelant et le fichier appelé sont dans le même répertoire (comme ton message d'erreur semble l'indiquer).