seriale e php serial class

timeout = 1000;
manda messaggio;
inizio = millis();
do{
risp = leggi risposta
}finchè ris == -1 and millis()-inizio < timeout

se ris == -1{
errore nessuna risposta in tempo utile
}else{
la risposta è ris
}

edit: noto che il tuo problema è anche sull'invio, e mi sembra molto strano. Forse devi dare una flush lato PHP prima di chiudere la connessione seriale, anche se mi sembra starno che non lo faccia di già con la close.. oppure se ti basi sul fatto che il comando sia stato esegiuito solo dalla risposta senza un riscontro visivo allora è per il motivo di cui sopra, e spiega come mai con una modifica del codice arduino tutto sebra funzionare (non verifichi più il successo dalla risposta seriale ma visualmente)