2010-06-30 4 views
0

Dans mon code, j'ai inclus quelques fichiers à utiliser. Lorsque je spécifie le chemin absolu, j'obtiens un message "Interdit". Cependant, lorsque j'utilise le chemin relatif, le code fonctionne.Chemins en PHP, ce qui est correct - absolu ou relatif?

Je me demande pourquoi le chemin absolu n'a pas été accepté.

Quelqu'un peut-il expliquer ce qui se passe?

Merci d'avance!

+1

Bienvenue à SO. Il n'y a pas de différence générale entre les chemins absolus et relatifs: ils sont tous résolus en interne. S'il vous plaît montrer un code pour dire ce qui se passe. –

+0

Postez votre code ... sans regarder c'est difficile de comprendre votre problème spécifique! – Zuul

Répondre

1

Pour vous éviter des problèmes, utilisez toujours un problème absolu.
En ce qui concerne votre cas, c'est facile. Vous utilisez juste un mauvais chemin. Très probablement vous avez foiré une racine Web avec racine du système de fichiers.

0

Si vous êtes sur un hôte partagé, ils peuvent vous interdire de toucher autre que votre contenu. Des chemins absolus peuvent donc causer des problèmes.

+0

Pas vraiment: Les chemins absolus sont corrects tant qu'ils se trouvent dans le (s) chemin (s) autorisé (s). –

+0

Dans certaines configurations de sécurité, ceci n'est pas autorisé. Cela dit, certaines applications font des choses vraiment idiotes comme '/ var/www/appdir $ cd ../ appdir/foo' –

0

Il se peut que le compte sous lequel PHP s'exécute n'a pas accès à une partie du chemin absolu.

E.g. Si votre chemin absolu est/home/user/site/pages et que le compte n'a pas accès à '/ home/user', vous le voyez.

+0

c'est presque exactement ce que j'ai dit et j'ai eu -1 ... lol :) – galambalazs

Questions connexes