PHP Include

PHP Include - PHP - Programmation

Marsh Posté le 30-03-2009 à 09:25:09    

Bonjour,
 
Je n'arrive pas à solutionner ce problème. A priori, il semble qu'il y ait des erreurs de droits d'accès.
 
PHP Warning:  include(): open_basedir restriction in effect. File(/home/websrv/cacti/cacti-0.8.7d/include/global.php) is not within the allowed path(s): (/usr/local/php-5.1.6/lib/php) in /home/websrv/cacti/cacti-0.8.7d/cmd.php on line 37
PHP Warning:  include(/home/websrv/cacti/cacti-0.8.7d/include/global.php): failed to open stream: Operation not permitted in /home/websrv/cacti/cacti-0.8.7d/cmd.php on line 37
PHP Warning:  include(): Failed opening '/home/websrv/cacti/cacti-0.8.7d/include/global.php' for inclusion  
(include_path='.:/php/includes:/usr/local/pear') in /home/websrv/cacti/cacti-0.8.7d/cmd.php on line 37
 
Voia ce que j'ai dans les lignes incriminées :  
 
include(dirname(__FILE__) . "/include/global.php" );
include_once($config["base_path"] . "/lib/snmp.php" );
include_once($config["base_path"] . "/lib/poller.php" );
include_once($config["base_path"] . "/lib/rrd.php" );
include_once($config["base_path"] . "/lib/ping.php" );
 

Reply

Marsh Posté le 30-03-2009 à 09:25:09   

Reply

Marsh Posté le 30-03-2009 à 09:54:55    

Il faurait savoir ce qu'il y a dans "dirname(__FILE__) " et dans "$config["base_path"]"
 
Pour rappel, : un chemin qui commence par "/" est un chemin "absolu".
 
Le piège classique est que la racine n'est pas celle de Windows ou d'Unix, mais celle qui est indiquée dans le fichier de configuration d'Apache ou d'un autre serveur de pages web. C'est pour cela qu'il vaut mieux indiquer des chemins relatifs.
 
Edit : Les messages d'erreurs sont en fait assez explicites.
Par exemple, le premier message indique que la racine est "/usr/local/php-5.1.6/lib/php". Donc il faut que le fichier inclus se trouve dans un sous-repertoire de cette racine (ou bien il faut avoir accès à l'administration de Apache pour redéfinir la racine dans le fichier de configuration, et ici elle n'est peut-être pas bien configurée.)


Message édité par olivthill le 30-03-2009 à 10:09:17
Reply

Marsh Posté le 13-08-2009 à 16:48:16    

Salut !
Bon, j'ai le même message d'erreur en utilisant mon serveur distant. A priori, cést au niveau de la cofiguration du serveur l4rge:

 
Citation :


Warning: include() [function.include]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/repert2/test2.php) is not within the allowed path(s): (/firewall: /tmp:.) in /home/l4rge/public_html/l4rge.com/e/s/p/siteweb/repert1/test.php on line 2

 

en utilisant ce code dans test.php :

Code :
  1. <?php
  2. include ($_SERVER['DOCUMENT_ROOT']. '/repert2/test2.php');
  3. ?>


et comme arborescence :
---localhost  ----  repert1/test.php
                  ----- repert2/test2.php

 

Iimpossibilite pour un script comme test.php d'accéder à un fichier qui n'est pas dans son même répertoire ou dans un sous repertoire..(comme test2.php)
Le Firewall du serveur serait en cause mais ça me paraît bizarre quíl bloque une fonction si essentielle  :heink:
je ne sais pas comment faire pour résoudre ce problème.  :sweat:
Merci  :jap:


Message édité par Citronnier le 13-08-2009 à 16:49:25
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed