By default, the ELB will timeout if no data is received for 1 minute.
Ideally this would be designed as a job, and you would just send status reports with ajax. If you can't do that, there are a couple of other options.
Send data, even if its just empty spaces. Keep in mind that php may use output buffering, and may not send any data unless the packet is of at least a certian size.
Contact AWS support to have the timeout for your ELB increased.