OVH Cloud OVH Cloud

Fichier batch

7 réponses
Avatar
d.duquenoy
Hello
Mon problème est simple :
j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
\\machine\partage\monfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


ça fait déjà un moment que je bloque sur ce problème et je commence à
désespérer...

Merci
David

7 réponses

Avatar
Paul Delannoy
David D a écrit:
Hello
Mon problème est simple :
j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
machinepartagemonfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


Parce que la copie n'a pas réussi. Essaie de savoir pourquoi ?
Pistes :
monfic.txt n'est pas dans le répertoire courant ?
la machine n'autorise pas le user PHP à écrire dans partage ?
etc...

Avatar
Bloodshed

Hello
Mon problème est simple :
j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
machinepartagemonfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


ça fait déjà un moment que je bloque sur ce problème et je commence à
désespérer...

Merci
David
Ton serveur est sous Linux ?


Avatar
Thibaut Allender

j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
machinepartagemonfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


un probleme de droit ? ca n'est pas le meme user qui lance la copie a la
main, ou via php/apache
pourquoi ne pas utiliser http://fr.php.net/manual/fr/function.copy.php ?

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Avatar
Redy Ramamonjisoa
David D wrote:

Hello
Mon problème est simple :
j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
machinepartagemonfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


ça fait déjà un moment que je bloque sur ce problème et je commence à
désespérer...

Merci
David


Salut,

Vérifies sous quel UID/GID (Identité de l'utilisateur / Groupe) PHP
s'execute. Ensuite, cet utilisateur a-t-il le droit d'écrire dans le
répertoire de destination indiqué ?

Sinon, essaies de modifier ton PHP.INI de manière à récuperer tous les
messages d'erreurs en mettant E_ALL et tu trouveras pourquoi ça ne
marche pas.

Avatar
d.duquenoy
(David D) wrote in message news:...
Hello
Mon problème est simple :
j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
machinepartagemonfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


ça fait déjà un moment que je bloque sur ce problème et je commence à
désespérer...

Merci
David


C'est vrai, quel manque de détail !
Je suis sous XP, mais le problème se répète depuis NT 4 Server et
Workstation et 2000.
ça fonctionne sous 95/98.
J'ai un Apache et un PHP installés manuellement.
Le partage machinepartage ne demande aucune authentification
particulière.
David

Avatar
d.duquenoy
Redy Ramamonjisoa wrote in message news:<40880f8a$0$22875$...
David D wrote:

Hello
Mon problème est simple :
j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
machinepartagemonfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


ça fait déjà un moment que je bloque sur ce problème et je commence à
désespérer...

Merci
David


Salut,

Vérifies sous quel UID/GID (Identité de l'utilisateur / Groupe) PHP
s'execute. Ensuite, cet utilisateur a-t-il le droit d'écrire dans le
répertoire de destination indiqué ?

Sinon, essaies de modifier ton PHP.INI de manière à récuperer tous les
messages d'erreurs en mettant E_ALL et tu trouveras pourquoi ça ne
marche pas.


Pour répondre à toutes vos questions :
- monfic.txt se trouve bien au bon endroit, aucune erreur lors de la
copie, juste que le fichier n'est pas copié.
- mon serveur est sous XP, 2000, NT4 (la copie fonctionne bien sous
95/98, les droits n'existant pas je suppose)
- erreur = E_ALL : pas d'erreur
- pas de user = apache ou truc du genre dans mon fichier de config
Apache, mais dans les ressources il est lancé en tant que system

Comment déclarer que mon user PHP peut écrire dans partage ?

Merci de vos pistes !

David


Avatar
Johan Daine
David D wrote:
Hello
Mon problème est simple :
j'ai un script batch copy_fichier.bat contenant : copy monfichier.txt
machinepartagemonfichier.txt
Lorsque je lance ce fichier manuellement, aucun problème.

Dans un script PHP : system("copy_fichier.bat");
Le script est bien lancé et en retour j'ai : 0 fichier(s) copié(s).


ça fait déjà un moment que je bloque sur ce problème et je commence à
désespérer...

Merci
David
Essaye de lancer ton batch par

system("cmd.exe copy_fichier.bat");
system("command.com copy_fichier.bat");
ou avec tout bon interpréteur de commandes (4DOS , 4NT...)

Johan