Eine Formel, wie Du sie lieferst, ist auch nicht real nutzbar, weil jeder Prozess seine individuelle Laufzeit hat.
Mag sein. Es ging mir um eine Demonstration wie sich die Prozesse "aufschaukeln" und dass deren Zahl früher oder später gegen eine Mauer läuft. Bei genügender Beachtung von dem was auf "Verstärken könnte den Effekt, …" folgt sollte man auch darauf kommen, dass die Realität nicht in eine einfache Formel zu pressen ist.
Die Fehlerbeschreibung weißt jedenfalls stark darauf hin, dass es sich um dieses Problem handelt. PHP stürzt hier nicht ab…
Eine weitere Lösung:
Der Abruf wird nicht alle n Sekunden gestartet sondern n Sekunden nach dem Ende des letzten Abrufes. Ich weiß nur nicht ob sich das mit der gestellten Aufgabe in Übereinstimmung bringen lässt. Falls nicht muss eben an der Leistungsfähigkeit des Servers "geschraubt" werden.
Das Skript dient dazu, um die Telefondaten vom externen Server zu laden und in die DB zu speichern.
Mir ist völlig unklar wieso hier ein Webserver notwendig sein soll und warum das nicht php-cli und ein cronjob können soll. Wenn man zuschauen will kann man mit ssh und tail -f auf das hoffentlich mitgeschriebene (und von logrotate behandelte!) Logfile glotzen. Oder halt nach jedem Durchlauf eine "Quittung" als statische Datei schreiben und die mit dem Browser aller paar Sekunden refreshen. Zudem sollte man mit ein wenig Mühe auch einen Weg finden, die Daten direkt vom "externen Server" in eine Datenbank schreiben zu lassen. Das dürfte den overhead, der hier offenbar im Abholen einer großen Textdatei besteht, gewaltig senken.