Utilizzando set_time_limit() o max_execution_time, non "realmente" limiti (tranne su Windows) il tempo di esecuzione, perché, come indicato nel manuale di PHP:"vero" tempo di esecuzione limite
Nota:
La funzione set_time_limit() e la direttiva di configurazione max_execution_time influiscono solo sul tempo di esecuzione dello script stesso. Qualsiasi tempo speso per attività che si verificano all'esterno dell'esecuzione dello script come chiamate di sistema utilizzando system(), operazioni di streaming, query di database, ecc. Non è incluso quando si determina il tempo massimo dello script . Questo non è vero su Windows dove il tempo misurato è reale.
Una soluzione è proposed in PHP comments di avere un limite di tempo di esecuzione "reale" come quello che sto cercando, ma ho trovato poco chiaro/confusione.
Un limite di tempo reale esecuzione viene impostato dal sistema esecuzione del processo. Può uccidere il processo se viene raggiunto il limite (noto anche come limite rigido). È un vero limite quindi, normalmente basato sul tempo della CPU, ovvero il tempo effettivo consumato da un processo (non esattamente per quanto tempo il processo è già in esecuzione). – hakre
La soluzione suggerita in [il commento che si sta parlando] (http://www.php.net/manual/en/function.set-time-limit.php#105569) sembra buono per me - fino a quando si dispone di Disponibili le funzioni POSIX e pcntl. Che cosa esattamente non capisci a riguardo? – DaveRandom
Guardando in modo più approfondito il suggerimento nei commenti del manuale PHP è stato utile :) All'inizio non capivo come funzionasse (non sono abituato alla gestione dei thread). –