Bonjour à tous,
J’ai un problème concernant les fonctions PHP (et sûrement d’autre en relation avec les chemins) :
- fileExist() ;
- gestCWD() ;
- include() ;
- realpath() ;
En effet, mon serveur WEB est configuré comme suivant :
(Il servait à la base que pour de l’interprétation ASP mais l’interprétation du PHP via le filtre ISAPI php5isapi.dll a été ajouté [ Ma procédure d’installation ressemble beaucoup à celle de la page http://odelmotte.developpez.com/tuto.../iis6phpmysql/ écrite par un membre de developpez.com ] ) :
- IIS6 ;
- PHP5.0.3 ;
- MySQL4.1.7 ;
- Et PhpMyAdmin 2.6.1
Chacun de mes sites PHP et ASP est déclaré en tant que ‘nouveau site Web’ où j’ai ajouté pour chacun le filtre ISAPI pour ceux en PHP.
J’ai actuellement 5 sites PHP, ils fonctionnent globalement bien sauf :
- Si un fichier ajouté par un include() porte le même nom par exemple formulaire.php dans 2 sites différents, par exemple, on pourra se retrouver avec le fichier de l’autre site ! (donc actuellement, j’ai forcé les fichiers du même noms avec un préfixe propre au site, de ce fait, la bonne page est toujours chargée ?!?)
- La fonction fileExist() ne marche pas j’ai l’impression jamais alors que nous l’avons bien autorisé en exécution et allowUrlFOpen est bien à ‘on’ dans le phpinfo(); et j’ai aussi remarqué que realpath() ; ne retourne rien (chaine vide).
-Impossible de se servir de PhpMyAdmin, les erreurs suivantes apparaissent :
Warning: main(./libraries/grab_globals.lib.php) [function.main]: failed to open stream: No such file or directory in X:\mon-rep-de-stockage-des-sites\PhpMyAdmin\index.php on line 8
Fatal error: main() [function.require]: Failed opening required './libraries/grab_globals.lib.php' (include_path='.;C:\php5\pear') in X:\mon-rep-de-stockage-des-sites\PhpMyAdmin\index.php on line 8
Le problème, je pense, est donc que le chemin courant est mal défini, voici quelques indices/recherche de mon côté :
Via phpinfo(), j’ai bien les bons chemins, je pense :
Par contre, avec un fichier whereamI.php à la racine du site, j’ai la chose suivante bien étrange ! :[PHP CORE]
allow_url_fopen | On | On
include_path |.;C:\php5\pear |.;C:\php5\pear
(valeur par défaut non défini dans le php.ini, ce répertoire n’existe pas sur mon serveur)
[ISAPI]
PATH_TRANSLATED | X:\mon-rep-de-stockage-des-sites\mon-site\index.php
SERVER_NAME | www.mon-site.fr
APPL_PHYSICAL_PATH | X:\mon-rep-de-stockage-des-sites\mon-site\
[PHP VARIABLES]
_SERVER["PATH_TRANSLATED"] | X:\mon-rep-de-stockage-des-sites\mon-site
_SERVER["SERVER_NAME"] | www.mon-site.fr
_SERVER["APPL_PHYSICAL_PATH"] | X:\mon-rep-de-stockage-des-sites\mon-site\
_SERVER["DOCUMENT_ROOT"] | X:\mon-rep-de-stockage-des-sites\mon-site
_SERVER["ALL_HTTP"] |HTTP_CACHE_CONTROL:max-age=0 HTTP_CONNECTION:keep-alive HTTP_KEEP_ALIVE:300 HTTP_ACCEPT:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7 HTTP_ACCEPT_ENCODING:gzip,deflate HTTP_ACCEPT_LANGUAGE:fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3 HTTP_HOST:www.mon-site.fr HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Voici 2 copies des valeurs affichées après rafraîchissements !
La valeur retournée par getcwd(); n’est donc visiblement pas la bonne retournée !?! On dirait que ça retourne dernier site, donc actuellement visité.- 1er appel au fichier :
$mosConfig_absolute_path = 'c:\windows\system32\inetsrv'; | obtenu par $mosConfig_absolute_path = getcwd();
SERVER_NAME : www.mon-site.fr |obtenu par $_SERVER['SERVER_NAME'];
http://www.mon-site.fr/whereami.php | obtenu par precedent + $_SERVER['PHP_SELF']
- après quelques rafraîchissements :
$mosConfig_absolute_path = 'X:\mon-rep-de-stockage-des-sites\mon-AUTRE-site\commun\page'; | obtenu par [$mosConfig_absolute_path = getcwd();]
SERVER_NAME : www.mon-site.fr | obtenu par $_SERVER['SERVER_NAME'];
http://www.mon-site.fr/whereami.php | obtenu par precedent + $_SERVER['PHP_SELF']
N’hésitez surtout pas si vous ne comprenez pas quelque chose, car sincèrement, je ne sais plus où chercher, je ne comprends pas trop ce problème de chemins, on dirait que lorsque 2 visiteurs visitent en même temps 2 sites (ou plus), mon serveur perd un peu les pédales et va voir le dernier répertoire courant...et ne prend pas le bon site parfois…
Merci bien pour votre aide,
Damien.
Partager