Script Php et Batch

Eléphanteau du PHP | 15 Messages

22 déc. 2011, 16:52

Bonjour,
Pouvez vous m'aider, svp.

Je m'explique :

Je veux lancer un script php automatiquement tous les jours.

J'ai alors crée une tache planifié et un fichier bat.
La planification et le lancement du bat fonctionne bien.

Fichier bat :

Code : Tout sélectionner

php -f "d:\...\Moulinette.php
php.exe execute bien Moulinette.php mais quand il arrive à

Code : Tout sélectionner

$handle = opendir($DirJob)
, il n'y a pas de retour.

Mon fichier php marche trés bien car quand je lance mon fichier bat à partir de l'invite de commande, la fonction opendir fonctionne trés bien et renvoir un IdRessource.

Pour résumé :

Lorsque je lance mon .bat à partir des taches planifié -> ça plante au niveau de l'opendir mais quand je lance le .bat par l'invite cela marche trés bien.

Je ne vois pas vraiment d'ou pourrai venir le pb.

Merci d'avance pour vos réponse, j'espere que je me suis bien expliquer.

ViPHP
ViPHP | 2577 Messages

22 déc. 2011, 17:17

Bonjour,

Que vaut $DirJob ?
Quand tu lances en ligne de commande, tu es dans un répertoire que tu as choisi. Via le planificateur, je ne sais pas dans quel répertoire tu es.

Tu peux commencer ton script par :
C:
cd \...........

Eléphanteau du PHP | 15 Messages

22 déc. 2011, 17:26

le script php se lance bien dans les 2 cas.
C'est à la fonction opendir qu'il ne renvoie rien lors du lancement du .bat par planification.
Il renvoie un idRessource lors du lancement du .bat en invite de commande.

Y'a t-il une difference lorsque l'on lance un .bat de l'invite ou par planification ?

Eléphanteau du PHP | 15 Messages

22 déc. 2011, 17:28

$DirJob vaut une adresse ip : $DirJob = \\00.000.00.000\...

ViPHP
ViPHP | 2577 Messages

23 déc. 2011, 09:16

La principale différence que je vois, c'est que dans une fenetre dos tu es sur du répertoire de lancement. Peut être un problème d'utilisateur différent entre les tache planifiées et le lancement direct.
C'est pour ca que je te proposait de choisir le disque et le répertoire en début de script .bat.

Eléphanteau du PHP | 15 Messages

23 déc. 2011, 11:01

Merci, mais je n'ai pas bien compris ta réponse.
J'ai passer l'etape de "opendir" (en commentaire) et jsuis ensuite bloquer au niveau de la fonction "Excel Reader" !
J'ai passer en paramêtre l'adresse du fichier mais ça ne passe pas.

Effectivement, il doit y avoir un probleme de position sur le disque au moment du lancement mais c'est bizzare car dans le script php, je commence mon adresse à partir de la racine.

$DirJob = '//10.1xx.2x.2xx/Communs$/Repertoire.../'.$Annee.'/'.$Mois.'/'.$JourMoinsUn.'/';

Eléphanteau du PHP | 15 Messages

23 déc. 2011, 11:33

Bon j'ai trouver une solution !

Il m'a suffit de creer une tache planifié non par l'invite mais par l'utilitaire windows et le script tourne correctement.

L'adresse à laquelle j'essayé d'acceder avais des repertoire protégé. Lorsque j'ai créer ma tache par l'util. on m'a demander mes identifiants windows.
Le problème venait peut être de la : j'essayer d'acceder à un rep protégé sans droit lorsque je creer en invite.

En tous cas le pb est résolu !

Merci Mazarini