In php ci sono diversi metodi per eseguire un comando shell:programma in esecuzione in php - display e tornare uscita
- sistema()
- passante()
- shell_exec()
- exec (
I primi due display emettono ma non lo restituiscono. Gli ultimi due restituiscono l'output ma non lo visualizza.
Voglio eseguire il comando di shell che richiede molto tempo ma visualizza un po 'di output, quindi so che non si blocca. Comunque alla fine voglio elaborare questo output in php. Se scelgo uno dei primi due non otterrò l'output quindi non potrò elaborarlo in php. Se eseguo uno degli ultimi due, sarò in grado di elaborare l'output, tuttavia il mio programma si bloccherà per molto tempo senza emettere alcunché.
C'è un modo per eseguire un comando shell che visualizzerà immediatamente l'output e lo restituirà?
fa il secondo argomento al sistema() non chiamare aiuto? – KTastrophy
Il secondo argomento è lo stato di ritorno del comando eseguito ad es. 0 se tutto è andato bene e 1 se c'è stato errore. Dovrei menzionare che ho bisogno anche di questo - shell_exec() è quello che non lo supporta. –
Non penso ci sia alcun comando PHP che eseguirà il codice shell e stamperà l'output sullo schermo prima che l'esecuzione sia terminata. – Travesty3