Tambien puede que estes haciendo algun proceso que demore mas que tiempo por default que tiene PHP para ejecutarse (30 segundos), como por ejemplo subir un archivo muy pesado.
Puedes darle mas tiempo al PHP para que corra el script modificando la configuracion en tiempo de ejecucion con la funcion
set_time_limit($tiempo);
donde $tiempo sera el numero de segundos que le daras al scritp para ejecutarse. si le entregas un 0 el script tendra tiempo ilimitado (asique cuidado con lo que dice el colega de mas arriba con respecto a los loops infinitos, debes descartar que esta ocurriendo eso)
Una vez que termina el script en ejecucion PHP restablecera los 30 segs de nuevo. Los 30 segs de ejecucion por default se establecen en el PHP.INI
PD: mas info en
www.php.net ;)
Saludos