Salve a tutti,
vi espongo il mio problema.
Devo avere la possibilità di avviare sul mio server una applicazione batch che a sua volta termina un processo tramite comando taskkill, e la riavvia con start.
Ora da questo lato ho risolto con php exec() per il file batch
però c'è un problema. sul mio personal computer funziona perfettamente il file batch, termina l'applicazione designata, e la riavvia, salvando il tutto in un file di log .txt
Se però carico tutto sul server, e la avvio da php exec(); l'applicazione batch non effettua alcuna funzione di termine processo e riavvio.
il batch è il seguente:
codice:
@echo off
cls
cmd /c taskkill /f /im applicazione.exe
cmd /c start applicazione.exe
echo [%DATE%] %TIME%: Application has been restarted >> logs.txt
exit
messo così, sul server non funziona. non effettua nessuna azione. Però sono sicuro che php exec() il batch lo esegue, perchè se modifico il file così:
codice:
@echo off
cls
echo [%DATE%] %TIME%: l'applicazione funziona. test corretto >> logs.txt
exit
esso funziona correttamente e scrive il file di testo...
qual'è il problema?
chiedo scusa se questa forse non è la sezione giusta, però non so se il problema sia il file batch o php..
aggiungo: il server è mio, quindi i permessi di esecuzione exec li ha. Però non capisco. il file batch è scritto perfettamente. e su personal computer funziona..
Altre informazioni: il sistema operativo del server è Windows Server 2003 x64 Edition
Saluti.
EDIT: Dimenticavo di aggiungere, il file bat funziona perfettamente se avviato manualmente su server, mentre se lo avvio da php exec() non funziona, funziona solo il secondo caso, dove salva solamente il file log.txt
credo che il problema sia relativo al php.. utilizzo il comando sbagliato?
Inoltre, con il primo codice del batch la pagina php che dovrebbe eseguirlo rimane in costante caricamento all'infinito, mentre nel secondo caso lo esegue senza problemi.