звучит так, как будто вы хотите передавать данные. для этого вам нужно настроить сокет, который готов к приему данных в виде потока, т.е. заменить веб-сервер apache.
Ваша проблема не в языке, а в веб-сервере. веб-сервер прослушивает порт 80, а затем делает то, что делает. Например, запишите данные в файл и запустите скрипт php.
вы можете создать пользовательскую программу порта, как вы это делали с Pearl. Вы также можете сделать то же самое с PHP и прослушивать порт 80, используя php-скрипт, управляемый из командной строки, а не тот, который находится внутри apache. Но PHP не лучший язык для этого ... Я бы предложил Python.
С HTTP-связью связаны накладные расходы, возможно, вам понадобится более простой протокол, который может сократить время загрузки.
если ваша загрузка занимает так много времени, вы можете сделать это AJAX-методом и позволить ему продолжаться, пока ваше клиентское приложение все еще активно. клиентское приложение AJAX также может разделить его на куски.