Bonjour à tous et merci à ceux qui prendront le temps de s'attarder sur ce sujet.
J'ai un script php lancé à intervalle régulier qui effectue des notifications par mail aux personnes concernées lorsqu'il détecte une modification dans le répertoire qui leur est attribué sur notre serveur FTP. Une boîte aux lettres, en somme.
J'utilise pour cela le mailer blat qui est un exécutable qui s'appelle en ligne de commande Windows. J'ai donc un petit fichier .bat appelé en PHP avec la fonction exec.
Le .bat s'exécute dans l'ensemble correctement, à l'exception de ce fameux blat qui semble ne pas être appelé du tout. Lorsque je lance le .bat directement par un clic, aucun soucis, je reçois mon mail et tutti frutti.
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec('call envoiMailBlat.bat', $output);
Ce n'est vraiment que la ligne appelant blat qui flanche. A côté de ça j'ai ma log "logCommande" qui est écrite, mais la log créée par le mailer, "logBlat", n'apparaît pas. Encore une fois exécutée directement pas de soucis, j'ai mon mail et ma logBlat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for /F "tokens=1,2,3 delims=#" %%i in (mails.csv) do ( echo %%i > body.csv echo Commande executee : blat body.csv -to %%j -s %%k -p mailer -log logBlat.csv -debug -nomd5 -html -charset UTF-8 >> logCommande.csv blat body.csv -to %%j -s %%k -p mailer -log logBlat.csv -debug -nomd5 -html -charset UTF-8 )
J'ai donc pensé à un problème de droit, et donné accès total à mon user PHP sur le bat et sur l'exécutable blat, aucun changement. Essayé plusieurs syntaxe PHP, lancé en PHP un bat qui ne ferait qu'appeler ce bat là, et tout un tas de choses farfelus, rien à faire.
J'arrive à cours d'idée donc si quelqu'un en a une, je suis preneur.
Merci d'avance.
Partager