Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[IIS-ASP&PHP-Mutlihoming] pb de chemin currentDir ?!?

7 réponses
Avatar
Damien
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é ) :
- IIS6 ;
- PHP 5.1.4 ;
- 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 :
Citation:
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 :
Citation:
[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

Par contre, avec un fichier whereamI.php à la racine du site, j’ai la chose
suivante bien étrange ! :
Voici 2 copies des valeurs affichées après rafraîchissements !
Citation:
- 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']

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é.
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.

7 réponses

Avatar
makens
Salut,
J'ai rencontrer le même probléme et cela ma pris la tête alors je me suis
simplifié le truc.
J'ai installé un serveur wamp (Apache,Mysql et PHP) sur mon serveur Windows
2003 en configurant le port d'écoute par défaut sur 81 afin qu'il ne soit pas
en conflit avec IIS (port 80), et j'ai transféré mes sites en php sur le
serveur Wamp de sorte que IIS soit dédié aux sites ASP et mon serveur Wamp
aux site PHP.
Pour info j'ai utilisé EasyPHP pour serveur Wamp mais aprés une longue
utilisation, ce produit convient bien pour des phase de test et développement
et non pour une mise en production intense. J'ai choisi d'utiliser ensuite
Wampserver http://www.wampserver.com/ super sympa mais dans mon cas
l'utilisation de la plate forme php/perl/Mysql est assez critique j'ai
préferé mettre en place un serveur linux "Debian" en production. Voila
j'espére que cela t'aideras à répondre à ton pbr.
Cordialement,

"Damien" a écrit :

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é ) :
- IIS6 ;
- PHP 5.1.4 ;
- 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 :
Citation:
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-sitesPhpMyAdminindex.php on line 8

Fatal error: main() [function.require]: Failed opening required
'./libraries/grab_globals.lib.php' (include_path='.;C:php5pear') in
X:mon-rep-de-stockage-des-sitesPhpMyAdminindex.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 :
Citation:
[PHP CORE]
allow_url_fopen | On | On
include_path |.;C:php5pear |.;C:php5pear
(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-sitesmon-siteindex.php
SERVER_NAME | www.mon-site.fr
APPL_PHYSICAL_PATH | X:mon-rep-de-stockage-des-sitesmon-site

[PHP VARIABLES]
_SERVER["PATH_TRANSLATED"] | X:mon-rep-de-stockage-des-sitesmon-site
_SERVER["SERVER_NAME"] | www.mon-site.fr
_SERVER["APPL_PHYSICAL_PATH"] | X:mon-rep-de-stockage-des-sitesmon-site
_SERVER["DOCUMENT_ROOT"] | X:mon-rep-de-stockage-des-sitesmon-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

Par contre, avec un fichier whereamI.php à la racine du site, j’ai la chose
suivante bien étrange ! :
Voici 2 copies des valeurs affichées après rafraîchissements !
Citation:
- 1er appel au fichier :
$mosConfig_absolute_path = 'c:windowssystem32inetsrv'; | 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-sitesmon-AUTRE-sitecommunpage'; | 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']

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é.
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.


Avatar
jbongran
makens wrote:
Salut,
J'ai rencontrer le même probléme et cela ma pris la tête alors je me
suis simplifié le truc.
J'ai installé un serveur wamp (Apache,Mysql et PHP) sur mon serveur
Windows 2003 en configurant le port d'écoute par défaut sur 81 afin
qu'il ne soit pas en conflit avec IIS (port 80), et j'ai transféré
mes sites en php sur le serveur Wamp de sorte que IIS soit dédié aux
sites ASP et mon serveur Wamp aux site PHP.
Pour info j'ai utilisé EasyPHP pour serveur Wamp mais aprés une longue
utilisation, ce produit convient bien pour des phase de test et
développement et non pour une mise en production intense. J'ai choisi
d'utiliser ensuite Wampserver http://www.wampserver.com/ super sympa
mais dans mon cas l'utilisation de la plate forme php/perl/Mysql est
assez critique j'ai préferé mettre en place un serveur linux "Debian"
en production. Voila j'espére que cela t'aideras à répondre à ton pbr.
Cordialement,

"Damien" a écrit :

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é ) :
- IIS6 ;
- PHP 5.1.4 ;
- 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 : Citation:
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-sitesPhpMyAdminindex.php on line 8

Fatal error: main() [function.require]: Failed opening required
'./libraries/grab_globals.lib.php' (include_path='.;C:php5pear') in
X:mon-rep-de-stockage-des-sitesPhpMyAdminindex.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 :
Citation:
[PHP CORE]
allow_url_fopen | On | On
include_path |.;C:php5pear |.;C:php5pear
(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-sitesmon-siteindex.php
SERVER_NAME | www.mon-site.fr
APPL_PHYSICAL_PATH | X:mon-rep-de-stockage-des-sitesmon-site

[PHP VARIABLES]
_SERVER["PATH_TRANSLATED"] |
X:mon-rep-de-stockage-des-sitesmon-site _SERVER["SERVER_NAME"] |
www.mon-site.fr _SERVER["APPL_PHYSICAL_PATH"] |
X:mon-rep-de-stockage-des-sitesmon-site _SERVER["DOCUMENT_ROOT"]
| X:mon-rep-de-stockage-des-sitesmon-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

Par contre, avec un fichier whereamI.php à la racine du site, j'ai
la chose suivante bien étrange ! :
Voici 2 copies des valeurs affichées après rafraîchissements !
Citation:
- 1er appel au fichier :
$mosConfig_absolute_path = 'c:windowssystem32inetsrv'; | 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-sitesmon-AUTRE-sitecommunpage'; |
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']

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é.
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.





Comment était configurés les sites, ils étaient dans quel mode d'isolation ?
Avaient-ils un application pool dédié chacun ?
Quand à l'usage de wamp en prépackagé (esayphp) je ne suis pas fan, pourquoi
si c'est vraiment nécessaire ne pas installer apache2, php et mysql si on
n'a pas déja une bdd ?
L'usage de filemon et netmon de www.sysinternals.com permet de lever le
doute sur les fonctions php retournant des accès refusés ou des fichiers
n'existants pas, le plus souvent il s'agit d'un problème de droits...
Avatar
Damien
Merci makens pour ta réponse, je sens que l'on va en revenir à un serveur
Apache si le problème n'arrive pas à être localisé...pourtant c'est pas faute
d'y passer du temps ...

jbongran -> merci également, je viens de regarder les pools, les sites ASP
et PHP sont tous en 'DefaultAppPool'.
La case à cocher 'Executer les services Web en mode d'isolation IIS5.0'
n'est pas cochée...je tourne bien en 6 donc normalement.

Merci pour votre aide en tout cas :),
Damien.

"jbongran" a écrit :

makens wrote:
> Salut,
> J'ai rencontrer le même probléme et cela ma pris la tête alors je me
> suis simplifié le truc.
> J'ai installé un serveur wamp (Apache,Mysql et PHP) sur mon serveur
> Windows 2003 en configurant le port d'écoute par défaut sur 81 afin
> qu'il ne soit pas en conflit avec IIS (port 80), et j'ai transféré
> mes sites en php sur le serveur Wamp de sorte que IIS soit dédié aux
> sites ASP et mon serveur Wamp aux site PHP.
> Pour info j'ai utilisé EasyPHP pour serveur Wamp mais aprés une longue
> utilisation, ce produit convient bien pour des phase de test et
> développement et non pour une mise en production intense. J'ai choisi
> d'utiliser ensuite Wampserver http://www.wampserver.com/ super sympa
> mais dans mon cas l'utilisation de la plate forme php/perl/Mysql est
> assez critique j'ai préferé mettre en place un serveur linux "Debian"
> en production. Voila j'espére que cela t'aideras à répondre à ton pbr.
> Cordialement,
>
> "Damien" a écrit :
>
>> 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é ) :
>> - IIS6 ;
>> - PHP 5.1.4 ;
>> - 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 : Citation:
>> 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-sitesPhpMyAdminindex.php on line 8
>>
>> Fatal error: main() [function.require]: Failed opening required
>> './libraries/grab_globals.lib.php' (include_path='.;C:php5pear') in
>> X:mon-rep-de-stockage-des-sitesPhpMyAdminindex.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 :
>> Citation:
>> [PHP CORE]
>> allow_url_fopen | On | On
>> include_path |.;C:php5pear |.;C:php5pear
>> (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-sitesmon-siteindex.php
>> SERVER_NAME | www.mon-site.fr
>> APPL_PHYSICAL_PATH | X:mon-rep-de-stockage-des-sitesmon-site
>>
>> [PHP VARIABLES]
>> _SERVER["PATH_TRANSLATED"] |
>> X:mon-rep-de-stockage-des-sitesmon-site _SERVER["SERVER_NAME"] |
>> www.mon-site.fr _SERVER["APPL_PHYSICAL_PATH"] |
>> X:mon-rep-de-stockage-des-sitesmon-site _SERVER["DOCUMENT_ROOT"]
>> | X:mon-rep-de-stockage-des-sitesmon-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
>>
>> Par contre, avec un fichier whereamI.php à la racine du site, j'ai
>> la chose suivante bien étrange ! :
>> Voici 2 copies des valeurs affichées après rafraîchissements !
>> Citation:
>> - 1er appel au fichier :
>> $mosConfig_absolute_path = 'c:windowssystem32inetsrv'; | 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-sitesmon-AUTRE-sitecommunpage'; |
>> 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']
>>
>> 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é.
>> 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.

Comment était configurés les sites, ils étaient dans quel mode d'isolation ?
Avaient-ils un application pool dédié chacun ?
Quand à l'usage de wamp en prépackagé (esayphp) je ne suis pas fan, pourquoi
si c'est vraiment nécessaire ne pas installer apache2, php et mysql si on
n'a pas déja une bdd ?
L'usage de filemon et netmon de www.sysinternals.com permet de lever le
doute sur les fonctions php retournant des accès refusés ou des fichiers
n'existants pas, le plus souvent il s'agit d'un problème de droits...





Avatar
jbongran
Damien wrote:
Merci makens pour ta réponse, je sens que l'on va en revenir à un
serveur Apache si le problème n'arrive pas à être localisé...pourtant
c'est pas faute d'y passer du temps ...

jbongran -> merci également, je viens de regarder les pools, les
sites ASP et PHP sont tous en 'DefaultAppPool'.
La case à cocher 'Executer les services Web en mode d'isolation
IIS5.0' n'est pas cochée...je tourne bien en 6 donc normalement.

Merci pour votre aide en tout cas :),
Damien.

"jbongran" a écrit :

makens wrote:
Salut,
J'ai rencontrer le même probléme et cela ma pris la tête alors je me
suis simplifié le truc.
J'ai installé un serveur wamp (Apache,Mysql et PHP) sur mon serveur
Windows 2003 en configurant le port d'écoute par défaut sur 81 afin
qu'il ne soit pas en conflit avec IIS (port 80), et j'ai transféré
mes sites en php sur le serveur Wamp de sorte que IIS soit dédié aux
sites ASP et mon serveur Wamp aux site PHP.
Pour info j'ai utilisé EasyPHP pour serveur Wamp mais aprés une
longue utilisation, ce produit convient bien pour des phase de test
et développement et non pour une mise en production intense. J'ai
choisi d'utiliser ensuite Wampserver http://www.wampserver.com/
super sympa mais dans mon cas l'utilisation de la plate forme
php/perl/Mysql est assez critique j'ai préferé mettre en place un
serveur linux "Debian" en production. Voila j'espére que cela
t'aideras à répondre à ton pbr. Cordialement,

"Damien" a écrit :

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é ) :
- IIS6 ;
- PHP 5.1.4 ;
- 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 : Citation:
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-sitesPhpMyAdminindex.php on line 8

Fatal error: main() [function.require]: Failed opening required
'./libraries/grab_globals.lib.php' (include_path='.;C:php5pear')
in X:mon-rep-de-stockage-des-sitesPhpMyAdminindex.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 :
Citation:
[PHP CORE]
allow_url_fopen | On | On
include_path |.;C:php5pear |.;C:php5pear
(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-sitesmon-siteindex.php SERVER_NAME |
www.mon-site.fr
APPL_PHYSICAL_PATH | X:mon-rep-de-stockage-des-sitesmon-site

[PHP VARIABLES]
_SERVER["PATH_TRANSLATED"] |
X:mon-rep-de-stockage-des-sitesmon-site _SERVER["SERVER_NAME"] |
www.mon-site.fr _SERVER["APPL_PHYSICAL_PATH"] |
X:mon-rep-de-stockage-des-sitesmon-site _SERVER["DOCUMENT_ROOT"]
X:mon-rep-de-stockage-des-sitesmon-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

Par contre, avec un fichier whereamI.php à la racine du site, j'ai
la chose suivante bien étrange ! :
Voici 2 copies des valeurs affichées après rafraîchissements !
Citation:
- 1er appel au fichier :
$mosConfig_absolute_path = 'c:windowssystem32inetsrv'; | 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-sitesmon-AUTRE-sitecommunpage'; |
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']

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é.
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.





Comment était configurés les sites, ils étaient dans quel mode
d'isolation ? Avaient-ils un application pool dédié chacun ?
Quand à l'usage de wamp en prépackagé (esayphp) je ne suis pas fan,
pourquoi si c'est vraiment nécessaire ne pas installer apache2, php
et mysql si on n'a pas déja une bdd ?
L'usage de filemon et netmon de www.sysinternals.com permet de lever
le doute sur les fonctions php retournant des accès refusés ou des
fichiers n'existants pas, le plus souvent il s'agit d'un problème de
droits...





Et en mettant chaque site dans son pool d'application ?
Avatar
Damien
"jbongran" a écrit :

Damien wrote:
> Merci makens pour ta réponse, je sens que l'on va en revenir à un
> serveur Apache si le problème n'arrive pas à être localisé...pourtant
> c'est pas faute d'y passer du temps ...
>
> jbongran -> merci également, je viens de regarder les pools, les
> sites ASP et PHP sont tous en 'DefaultAppPool'.
> La case à cocher 'Executer les services Web en mode d'isolation
> IIS5.0' n'est pas cochée...je tourne bien en 6 donc normalement.
>
> Merci pour votre aide en tout cas :),
> Damien.
>
> "jbongran" a écrit :
>
>> makens wrote:
>>> Salut,
>>> J'ai rencontrer le même probléme et cela ma pris la tête alors je me
>>> suis simplifié le truc.
>>> J'ai installé un serveur wamp (Apache,Mysql et PHP) sur mon serveur
>>> Windows 2003 en configurant le port d'écoute par défaut sur 81 afin
>>> qu'il ne soit pas en conflit avec IIS (port 80), et j'ai transféré
>>> mes sites en php sur le serveur Wamp de sorte que IIS soit dédié aux
>>> sites ASP et mon serveur Wamp aux site PHP.
>>> Pour info j'ai utilisé EasyPHP pour serveur Wamp mais aprés une
>>> longue utilisation, ce produit convient bien pour des phase de test
>>> et développement et non pour une mise en production intense. J'ai
>>> choisi d'utiliser ensuite Wampserver http://www.wampserver.com/
>>> super sympa mais dans mon cas l'utilisation de la plate forme
>>> php/perl/Mysql est assez critique j'ai préferé mettre en place un
>>> serveur linux "Debian" en production. Voila j'espére que cela
>>> t'aideras à répondre à ton pbr. Cordialement,
>>>
>>> "Damien" a écrit :
>>>
>>>> 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é ) :
>>>> - IIS6 ;
>>>> - PHP 5.1.4 ;
>>>> - 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 : Citation:
>>>> 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-sitesPhpMyAdminindex.php on line 8
>>>>
>>>> Fatal error: main() [function.require]: Failed opening required
>>>> './libraries/grab_globals.lib.php' (include_path='.;C:php5pear')
>>>> in X:mon-rep-de-stockage-des-sitesPhpMyAdminindex.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 :
>>>> Citation:
>>>> [PHP CORE]
>>>> allow_url_fopen | On | On
>>>> include_path |.;C:php5pear |.;C:php5pear
>>>> (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-sitesmon-siteindex.php SERVER_NAME |
>>>> www.mon-site.fr
>>>> APPL_PHYSICAL_PATH | X:mon-rep-de-stockage-des-sitesmon-site
>>>>
>>>> [PHP VARIABLES]
>>>> _SERVER["PATH_TRANSLATED"] |
>>>> X:mon-rep-de-stockage-des-sitesmon-site _SERVER["SERVER_NAME"] |
>>>> www.mon-site.fr _SERVER["APPL_PHYSICAL_PATH"] |
>>>> X:mon-rep-de-stockage-des-sitesmon-site _SERVER["DOCUMENT_ROOT"]
>>>>> X:mon-rep-de-stockage-des-sitesmon-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
>>>>
>>>> Par contre, avec un fichier whereamI.php à la racine du site, j'ai
>>>> la chose suivante bien étrange ! :
>>>> Voici 2 copies des valeurs affichées après rafraîchissements !
>>>> Citation:
>>>> - 1er appel au fichier :
>>>> $mosConfig_absolute_path = 'c:windowssystem32inetsrv'; | 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-sitesmon-AUTRE-sitecommunpage'; |
>>>> 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']
>>>>
>>>> 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é.
>>>> 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.
>>
>> Comment était configurés les sites, ils étaient dans quel mode
>> d'isolation ? Avaient-ils un application pool dédié chacun ?
>> Quand à l'usage de wamp en prépackagé (esayphp) je ne suis pas fan,
>> pourquoi si c'est vraiment nécessaire ne pas installer apache2, php
>> et mysql si on n'a pas déja une bdd ?
>> L'usage de filemon et netmon de www.sysinternals.com permet de lever
>> le doute sur les fonctions php retournant des accès refusés ou des
>> fichiers n'existants pas, le plus souvent il s'agit d'un problème de
>> droits...

Et en mettant chaque site dans son pool d'application ?



J'ai du mal a comprendre comment marche les pools d'application. Si je crée
un pool par site, ils sont bien dissociés mais le chemin courant est dans ce
cas toujours "c:windowssystem32inetsrv". Ce qui ne résoud pas mon problème.

Je ne vois nul part un moyen de définir de chemin courant pour l'application
dans les propriétés. Y en a t il un ?

Merci bien

Damien
Avatar
jbongran
Damien wrote:
"jbongran" a écrit :

Damien wrote:
Merci makens pour ta réponse, je sens que l'on va en revenir à un
serveur Apache si le problème n'arrive pas à être
localisé...pourtant c'est pas faute d'y passer du temps ...

jbongran -> merci également, je viens de regarder les pools, les
sites ASP et PHP sont tous en 'DefaultAppPool'.
La case à cocher 'Executer les services Web en mode d'isolation
IIS5.0' n'est pas cochée...je tourne bien en 6 donc normalement.

Merci pour votre aide en tout cas :),
Damien.

"jbongran" a écrit :

makens wrote:
Salut,
J'ai rencontrer le même probléme et cela ma pris la tête alors je
me suis simplifié le truc.
J'ai installé un serveur wamp (Apache,Mysql et PHP) sur mon
serveur Windows 2003 en configurant le port d'écoute par défaut
sur 81 afin qu'il ne soit pas en conflit avec IIS (port 80), et
j'ai transféré mes sites en php sur le serveur Wamp de sorte que
IIS soit dédié aux sites ASP et mon serveur Wamp aux site PHP.
Pour info j'ai utilisé EasyPHP pour serveur Wamp mais aprés une
longue utilisation, ce produit convient bien pour des phase de
test et développement et non pour une mise en production intense.
J'ai choisi d'utiliser ensuite Wampserver
http://www.wampserver.com/ super sympa mais dans mon cas
l'utilisation de la plate forme php/perl/Mysql est assez
critique j'ai préferé mettre en place un serveur linux "Debian"
en production. Voila j'espére que cela t'aideras à répondre à ton
pbr. Cordialement,

"Damien" a écrit :

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é ) :
- IIS6 ;
- PHP 5.1.4 ;
- 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 : Citation:
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-sitesPhpMyAdminindex.php on line 8

Fatal error: main() [function.require]: Failed opening required
'./libraries/grab_globals.lib.php'
(include_path='.;C:php5pear') in
X:mon-rep-de-stockage-des-sitesPhpMyAdminindex.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 :
Citation:
[PHP CORE]
allow_url_fopen | On | On
include_path |.;C:php5pear |.;C:php5pear
(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-sitesmon-siteindex.php SERVER_NAME |
www.mon-site.fr
APPL_PHYSICAL_PATH | X:mon-rep-de-stockage-des-sitesmon-site

[PHP VARIABLES]
_SERVER["PATH_TRANSLATED"] |
X:mon-rep-de-stockage-des-sitesmon-site _SERVER["SERVER_NAME"]
| www.mon-site.fr _SERVER["APPL_PHYSICAL_PATH"] |
X:mon-rep-de-stockage-des-sitesmon-site
_SERVER["DOCUMENT_ROOT"]
X:mon-rep-de-stockage-des-sitesmon-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

Par contre, avec un fichier whereamI.php à la racine du site,
j'ai la chose suivante bien étrange ! :
Voici 2 copies des valeurs affichées après rafraîchissements !
Citation:
- 1er appel au fichier :
$mosConfig_absolute_path = 'c:windowssystem32inetsrv'; |
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-sitesmon-AUTRE-sitecommunpage'; |
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']

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é.
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.





Comment était configurés les sites, ils étaient dans quel mode
d'isolation ? Avaient-ils un application pool dédié chacun ?
Quand à l'usage de wamp en prépackagé (esayphp) je ne suis pas fan,
pourquoi si c'est vraiment nécessaire ne pas installer apache2, php
et mysql si on n'a pas déja une bdd ?
L'usage de filemon et netmon de www.sysinternals.com permet de
lever le doute sur les fonctions php retournant des accès refusés
ou des fichiers n'existants pas, le plus souvent il s'agit d'un
problème de droits...





Et en mettant chaque site dans son pool d'application ?



J'ai du mal a comprendre comment marche les pools d'application. Si
je crée un pool par site, ils sont bien dissociés mais le chemin
courant est dans ce cas toujours "c:windowssystem32inetsrv". Ce
qui ne résoud pas mon problème.

Je ne vois nul part un moyen de définir de chemin courant pour
l'application dans les propriétés. Y en a t il un ?

Merci bien

Damien



Je n'en connait pas non plus ;-(
L'idée était de voir si il n'y avait pas un souci avec le filtre s'éxécutant
dans le même pool.
Le chemin c:windowssystem32inetsrv ne devrait jamais être retourné.
As-tu le souci en asp avec un server.mappath(.)
As-tu essayer en mettant IIS en mode "compatibilité IIS 5.0", je crois me
souvenir avoir lu qu'il fallait ce mode (même si je ne l'ai jamais mis avec
IIS 6.0), à moins que ce ne soit pour Perl ?
As-tu essayé de monter/descendre d'une version (sous version) de php ?
As-tu essayé regmon et filemon de www.sysinternals afin d'éliminer tout
souci pouvant être induit par un accès refusé ?
Désolé de ne pouvoir t'aider davantage.
Avatar
Damien
Salut,

Je n'ai pas de soucis avec asp, le server.mappath renvoie un chemin correct.

J'avais essayé de passer en compatibilité IIS 5 sans voir de différence et
je suis passé de php_5_0_3 à php_5_1_4 sans plus de succès.

Il me reste la mise à jour de windows 2003 à faire mais comme c'est un
"gros" serveur, je peux pas le faire n'importe comment.

En regardant le filemon, il y a un truc bizarre. quand j'appele un fichier
php, le serveur va d'abord le chercher dans inetserv, puis dans php5/pear/
puis dans le bon répertoire. C'est peut être un cheminement logique mais
c'est à signaler ;) d'ailleurs, il ne le fait pas pour tous les fichiers...

Merci quand même.

Damien

/* Voici un exemple de filemon

w3wp.exe:28544 READ
D:sitesmri-technologiesincludeconfig.php SUCCESS Offset: 0 Length: 8192
w3wp.exe:28544 READ
D:sitesmri-technologiesincludeconfig.php SUCCESS Offset: 0 Length: 4096
w3wp.exe:28544 READ D:sitesmri-technologiesincludeconfig.php END OF
FILE Offset: 142 Length: 8192
w3wp.exe:28544 READ D:sitesmri-technologiesincludeconfig.php END OF
FILE Offset: 142 Length: 8192
w3wp.exe:28544 CLOSE D:sitesmri-technologiesincludeconfig.php SUCCESS
w3wp.exe:28544 OPEN C:windowssystem32inetsrvincludemisenpage.php PATH
NOT FOUND Options: Open Access: All
w3wp.exe:28544 OPEN C:windowssystem32inetsrvincludemisenpage.php PATH
NOT FOUND Options: Open Access: All
fssm32.exe:1900 OPEN C:WINDOWSSYSTEM32INETSRVINCLUDEMISENPAGE.PHP PATH
NOT FOUND Options: Open Access: All
w3wp.exe:28544 OPEN C:php5pearincludemisenpage.php PATH NOT
FOUND Options: Open Access: All
w3wp.exe:28544 OPEN C:php5pearincludemisenpage.php PATH NOT
FOUND Options: Open Access: All
fssm32.exe:1900 OPEN C:PHP5PEARINCLUDEMISENPAGE.PHP PATH NOT
FOUND Options: Open Access: All
w3wp.exe:28544 OPEN D:sitesmri-technologiesincludemisenpage.php SUCCESS Options: Open Access: All

*/


"jbongran" a écrit :

Damien wrote:
> "jbongran" a écrit :
>
>> Damien wrote:
>>> Merci makens pour ta réponse, je sens que l'on va en revenir à un
>>> serveur Apache si le problème n'arrive pas à être
>>> localisé...pourtant c'est pas faute d'y passer du temps ...
>>>
>>> jbongran -> merci également, je viens de regarder les pools, les
>>> sites ASP et PHP sont tous en 'DefaultAppPool'.
>>> La case à cocher 'Executer les services Web en mode d'isolation
>>> IIS5.0' n'est pas cochée...je tourne bien en 6 donc normalement.
>>>
>>> Merci pour votre aide en tout cas :),
>>> Damien.
>>>
>>> "jbongran" a écrit :
>>>
>>>> makens wrote:
>>>>> Salut,
>>>>> J'ai rencontrer le même probléme et cela ma pris la tête alors je
>>>>> me suis simplifié le truc.
>>>>> J'ai installé un serveur wamp (Apache,Mysql et PHP) sur mon
>>>>> serveur Windows 2003 en configurant le port d'écoute par défaut
>>>>> sur 81 afin qu'il ne soit pas en conflit avec IIS (port 80), et
>>>>> j'ai transféré mes sites en php sur le serveur Wamp de sorte que
>>>>> IIS soit dédié aux sites ASP et mon serveur Wamp aux site PHP.
>>>>> Pour info j'ai utilisé EasyPHP pour serveur Wamp mais aprés une
>>>>> longue utilisation, ce produit convient bien pour des phase de
>>>>> test et développement et non pour une mise en production intense.
>>>>> J'ai choisi d'utiliser ensuite Wampserver
>>>>> http://www.wampserver.com/ super sympa mais dans mon cas
>>>>> l'utilisation de la plate forme php/perl/Mysql est assez
>>>>> critique j'ai préferé mettre en place un serveur linux "Debian"
>>>>> en production. Voila j'espére que cela t'aideras à répondre à ton
>>>>> pbr. Cordialement,
>>>>>
>>>>> "Damien" a écrit :
>>>>>
>>>>>> 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é ) :
>>>>>> - IIS6 ;
>>>>>> - PHP 5.1.4 ;
>>>>>> - 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 : Citation:
>>>>>> 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-sitesPhpMyAdminindex.php on line 8
>>>>>>
>>>>>> Fatal error: main() [function.require]: Failed opening required
>>>>>> './libraries/grab_globals.lib.php'
>>>>>> (include_path='.;C:php5pear') in
>>>>>> X:mon-rep-de-stockage-des-sitesPhpMyAdminindex.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 :
>>>>>> Citation:
>>>>>> [PHP CORE]
>>>>>> allow_url_fopen | On | On
>>>>>> include_path |.;C:php5pear |.;C:php5pear
>>>>>> (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-sitesmon-siteindex.php SERVER_NAME |
>>>>>> www.mon-site.fr
>>>>>> APPL_PHYSICAL_PATH | X:mon-rep-de-stockage-des-sitesmon-site
>>>>>>
>>>>>> [PHP VARIABLES]
>>>>>> _SERVER["PATH_TRANSLATED"] |
>>>>>> X:mon-rep-de-stockage-des-sitesmon-site _SERVER["SERVER_NAME"]
>>>>>> | www.mon-site.fr _SERVER["APPL_PHYSICAL_PATH"] |
>>>>>> X:mon-rep-de-stockage-des-sitesmon-site
>>>>>> _SERVER["DOCUMENT_ROOT"]
>>>>>>> X:mon-rep-de-stockage-des-sitesmon-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
>>>>>>
>>>>>> Par contre, avec un fichier whereamI.php à la racine du site,
>>>>>> j'ai la chose suivante bien étrange ! :
>>>>>> Voici 2 copies des valeurs affichées après rafraîchissements !
>>>>>> Citation:
>>>>>> - 1er appel au fichier :
>>>>>> $mosConfig_absolute_path = 'c:windowssystem32inetsrv'; |
>>>>>> 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-sitesmon-AUTRE-sitecommunpage'; |
>>>>>> 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']
>>>>>>
>>>>>> 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é.
>>>>>> 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.
>>>>
>>>> Comment était configurés les sites, ils étaient dans quel mode
>>>> d'isolation ? Avaient-ils un application pool dédié chacun ?
>>>> Quand à l'usage de wamp en prépackagé (esayphp) je ne suis pas fan,
>>>> pourquoi si c'est vraiment nécessaire ne pas installer apache2, php
>>>> et mysql si on n'a pas déja une bdd ?
>>>> L'usage de filemon et netmon de www.sysinternals.com permet de
>>>> lever le doute sur les fonctions php retournant des accès refusés
>>>> ou des fichiers n'existants pas, le plus souvent il s'agit d'un
>>>> problème de droits...
>>
>> Et en mettant chaque site dans son pool d'application ?
>
> J'ai du mal a comprendre comment marche les pools d'application. Si
> je crée un pool par site, ils sont bien dissociés mais le chemin
> courant est dans ce cas toujours "c:windowssystem32inetsrv". Ce
> qui ne résoud pas mon problème.
>
> Je ne vois nul part un moyen de définir de chemin courant pour
> l'application dans les propriétés. Y en a t il un ?
>
> Merci bien
>
> Damien

Je n'en connait pas non plus ;-(
L'idée était de voir si il n'y avait pas un souci avec le filtre s'éxécutant
dans le même pool.
Le chemin c:windowssystem32inetsrv ne devrait jamais être retourné.
As-tu le souci en asp avec un server.mappath(.)
As-tu essayer en mettant IIS en mode "compatibilité IIS 5.0", je crois me
souvenir avoir lu qu'il fallait ce mode (même si je ne l'ai jamais mis avec
IIS 6.0), à moins que ce ne soit pour Perl ?
As-tu essayé de monter/descendre d'une version (sous version) de php ?
As-tu essayé regmon et filemon de www.sysinternals afin d'éliminer tout
souci pouvant être induit par un accès refusé ?
Désolé de ne pouvoir t'aider davantage.