Io un metodo, a dire la verità molto "empirico", che utilizzo per capire dove stia l'errore in questi casi è di eseguire un echo (es. echo "
sono arrivato in 1
") ogni due o tre righe di codice, o prima e dopo qualche funzione importante dell'applicazione.

Prova, almeno scopri a che punto del tuo programma si blocca tutto, e possiamo dopo vedere insieme per un'eventuale soluzione.