open_basedir limite les fichiers qui peuvent être ouverts par PHP dans un répertoire.Comment puis-je relâcher la restriction open_basedir de PHP?
Je stocke plusieurs bibliothèques de classes et fichiers de configuration en dehors de mon répertoire racine Web. De cette façon, le serveur Web ne les rend pas accessibles au public. Cependant, lorsque je tente de les inclure de ma demande, je reçois une erreur de restriction open_basedir comme ceci:
Attention: realpath() [function.realpath]: open_basedir restriction en vigueur. Fichier (/var/www/vhosts/domain.tld/zend/application) est pas dans le chemin autorisé (s): (/var/www/vhosts/domain.tld/httpdocs:/tmp) dans /var/www/vhosts/domain.tld/httpdocs/index.php en ligne 5
Ma racine web est ici:
/var/www/vhosts/domain.tld/httpdocs
Mes bibliothèques et répertoire de configuration sont ici:
/var/www/vhosts/domain.tld/zend
Quelle serait la meilleure solution pour détendre la restriction open_basedir afin que l'arborescence de répertoires sous le dossier de domaine devienne disponible pour mon application? J'ai un certain nombre de domaines avec lesquels je veux faire cela, et je me méfie aussi manifestement de la création de failles de sécurité.
Remarque: J'utilise CentOS, Apache, Plesk et j'ai un accès root ssh au serveur. Et bien que cela ne s'applique pas directement à Zend Framework, je l'utilise dans ce cas. Voici donc l'inclusion de l'amorce de Zend:
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../zend/application/'));
set_include_path(APPLICATION_PATH . '/../zend/library' . PATH_SEPARATOR . get_include_path());
Si l'op est en cours d'exécution plesk il devra être légèrement plus spécial que cela: http://www.toosweettobesour.com/2008/02/02/plesk-open_basedir-workaround/ – dcousineau
tom: Wouldn La suppression de la restriction ne crée-t-elle pas une vulnérabilité de sécurité? dcousineau: merci! – isuldor
Brian: Vous supprimez seulement la restriction pour les fichiers php en cours d'exécution à partir de /var/www/vhosts/domain.tld/httpdocs, mais oui, la première option est mieux –