[php] soucis avec 'chdir()' de PHP sous Win

soucis avec 'chdir()' de PHP sous Win [php] - PHP - Programmation

Marsh Posté le 01-09-2005 à 14:57:37    

salut à tous
 
voilà le topo :
on a une machine au taf avec WAMP dessus, càd un serveur apache/PHP.
Le truc, c que certains scripts PHP doivent récuperer des fichiers sur le net, les mouliner, puis les entreposer non pas sur cette machine, mais sur une autre basée sur HP-UX. Un partage Samba a été mis en place, et on peut y accéder via l'explorateur de win soit via un mappage de lecteur réseau (N:\ dans ce cas), soit par son UNC \\serveur\dossier\ ...
 
Le soucis, c que la focntion "chdir()" de se cher PHP, est bien capable de changer le rep en local (genre chdir ("c:\\dossier" ) ca marche, par contre pas moyen de le faire atterrir directement sur le partage Samba, que ce soit en faisait chdir ("n:\\dossier" ), ou chdir ("\\\\serveur\\dossier\\" ), il me sort l'eternel 'Warning: chdir() [function.chdir]: No such file or directory (errno 2) in c:\FLCDev\wamp\www\dev\phpDL\phpDL.php on line 29' :(
 
Donc voilà, la question est : est-ce possible ? ya t'il une feinte qqconque à appliquer ?
 
merci de m'en dire davantage :hello:


Message édité par SICKofitALL le 01-09-2005 à 15:26:25

---------------
We deserve everything that's coming...
Reply

Marsh Posté le 01-09-2005 à 14:57:37   

Reply

Marsh Posté le 01-09-2005 à 15:00:07    

problème fréquent, c'est juste une histoire de droits

Reply

Marsh Posté le 01-09-2005 à 15:20:58    

de droits ?
des droits de Apache ou du l'user en cours sur le pc serveur ?
car dans ce dernier cas, il s'agit d'un compte admin qui est loggé :/


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 01-09-2005 à 15:25:17    

peu importe que tu sois loggé en tant qu'admin. Il faut sans doute donner des droits au service apache ?
 
il y a aussi une clause de restriction possible dans la config qui t'empêche de sortir de la racine. Qui sait

Reply

Marsh Posté le 01-09-2005 à 15:27:27    

damned [:wam] !!
 
jvais zieuter ca dans la conf d'apache !
 
merci pour les pistes, c tjrs ca :)


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 01-09-2005 à 15:30:40    

SICKofitALL a écrit :

des droits de Apache ou du l'user en cours sur le pc serveur ?


plus d'info sur la page suivante : http://httpd.apache.org/docs/2.0/platform/windows.html
à partir de

Citation :

By default, all Apache services are registered to run as the system user (the LocalSystem account). The LocalSystem account has no privileges to your network via any Windows-secured mechanism, including the file system, named pipes, DCOM, or secure RPC. It has, however, wide privileges locally.


 
Sinon comme dit JagStang c'est peut être la config open_basedir

Reply

Marsh Posté le 01-09-2005 à 16:31:05    

[:yaisse] !!!
 
c'était donc ca !! une sombre histoire de droit du service Apache !!!
 
donc si ca branche qq, en fait c pas super compliqué (une fois qu'on le sait et c écrit dans la doc en fait [:ddr555]) :
par défaut le service Apache est executé par l'user local "System". IL faut alors modifier ca et y mettre un user un peu plus privilégié (login + mdp of course)
 
Ensuite, avec chdir, il faut accéder aux mappage réseau comme suit :

chdir ( "\\\\<NOM_DU_PARTAGE_RESEAU>\\<DOSSIER>\\<DOSSIER>" )


ou plus simple

chdir ( "//<NOM_DU_PARTAGE_RESEAU>/<DOSSIER>/<DOSSIER>" )


 
mais PAS (à priori :D)

chdir ( "<LECTEUR>:\\\\<DOSSIER>\\<DOSSIER>\\<DOSSIER>" )


 
pfuiii voila un mystere de réglé :)
 
Merci à tous [:plat00n2]


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 06-09-2005 à 14:20:48    

Yes merci ta réponse me branche ;) Mais j'aimerais en savoir un peu plus notamment sur les droits que tu as mis à ton utilisateur "un peu plus privilégié" ? Login Mot de passe suffisent ? Faut-il que cet utilisateur soit admin de la machine ou alors un utilisateur simple ?

Reply

Marsh Posté le 06-09-2005 à 16:47:16    

salut
 
les services se lancent avec les droits "SYSTEM" qui est un compte local à la bécane (valide sur ton les XP/2k je pense).
 
J'ai donc forcé le service Apache à se lancer avec mon login/mdp (admin) et ca rulez :)


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 08-09-2005 à 08:47:29    

merci ;)

Reply

Sujets relatifs:

Leave a Replay

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