Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision Les deux révisions suivantes
open_basedir [2009/12/25 12:14]
open_basedir [2011/05/31 09:37]
127.0.0.1 modification externe
Ligne 1: Ligne 1:
 +====== L'erreur open_basedir de PHP ======
  
 +Si l'erreur suivante s'affiche sur votre site :
 +
 +<code>Warning: main() [function.main]: open_basedir restriction in effect</code>
 +
 +cette solution vous concerne :
 +
 +L'open_basedir de PHP est une des sécurités de nos serveurs qui permet de limiter les actions de vos scripts PHP uniquement à votre site et non celui du voisin ou du serveur en général.
 +
 +Ce message d'alerte survient alors quand vous faites appel à une page en dehors de votre site. Dans 99 % des cas, c'est une erreur de développement PHP dans votre page (le 1 % restant correspond à une tentative de piratage de votre script).
 +
 +Lors du développement PHP avec des fonctions telles que des include, require, etc., nous commettons souvent la faute de pointer vers ces fichiers par des liens relatifs. Il faut alors changer de méthode pour que cela fonctionne et alors appeler ces fichiers avec des liens absolus.
 +
 +Il existe une méthode très simple pour avoir un lien absolu. Voici un exemple de code avec une fonction include() et une page " fonction.php " dans le dossier " news " :
 +
 +<code>
 +<?php include($_SERVER['DOCUMENT_ROOT'].'news/fonction.php'); ?>
 +</code>