ERR_CONNECTION_RESET с PHP-скриптом

У меня есть PHP-скрипты, которые загружают и обрабатывают некоторые файлы. Иногда количество файлов очень велико, поэтому требуется некоторое время.

Но когда есть много файлов для обработки, соединение прерывается с ошибкой «ERR_CONNECTION_RESET» (Chrome).

Вот моя конфигурация:

upload_max_filesize = 64M post_max_size = 64M max_execution_time = 0 max_input_time = -1 memory_limit = 512M 

У меня есть общее увлечение. Кто-нибудь знает, как это исправить?

    Если файлов слишком много для обработки, вы в конечном итоге наткнетесь на эту проблему независимо от вашей конфигурации. Даже если вы отключите все тайм-ауты на стороне сервера, сам клиент имеет свои собственные функции безопасности и, в конечном итоге, истечет через определенное время – то, что вы не можете контролировать.

    « Вы делаете это неправильно » здесь. Вы не можете выполнять какие-либо тяжелые вычисления в HTTP-запросе из-за такого рода ограничений протокола (TCP, HTTP).

    В вашем запросе должна появиться какая-то фоновая задача , которая время от времени будет уведомлять о ее прогрессе. Используя общий хостинг только с PHP, выполнить это может быть непросто, поэтому вы можете захотеть найти другой способ выполнения ваших тяжелых вычислений.

    ERR_CONNECTION_RESET обычно означает, что соединение с сервером умерло без каких-либо откликов на клиент – даже некоторая ошибка HTTP 5xx. Это означает, что весь процесс PHP умер, не имея возможности нормально закрыться.

    Обычно это не вызвано чем-то вроде превышенного memory_limit, потому что это то, что PHP будет обрабатывать изящно. Это должно быть какая-то ошибка сегментации или что-то подобное. Если у вас есть доступ к журналам ошибок, проверьте их. В противном случае вы можете получить поддержку от своей хостинговой компании.

    Я фактически наткнулся на эту проблему, делаю очень похожую вещь, моя проблема (на случай, если она кому-то помогает) заключалась в том, что я создавал объект каждый раз, когда я вызывал свою функцию, то есть:

     function myFunction($param) { ... // Create an object $obj = new MyObject(); ... } 

    Я просто изменил его:

     function myFunction($param, $obj) { ... //Do stuff with $obj ... } // Create an object $obj = new MyObject(); // Call Function $myresult = myFunction($params, $obj); 

    Нооб знаю, но надеюсь, что это поможет кому-то другому.

    Очистка файлов cookie разрешила его, когда у меня возникла эта проблема на Google chrome