Я пытаюсь выполнить Core WP Upgrade, и проблема у меня заключается в том, что серверу требуется время для загрузки пакета обновления и в течение этого времени не отправляется тело ответа, поэтому браузер завершает выполнение сценария (тайм-аут?), Который затем завершает Я предполагаю, что PHP-скрипт.
Временная работа, которую я обнаружил, заключается в том, что если я редактирую основные WP-файлы для вывода некоторого текста-заполнителя во время загрузки файла (он загружается через cURL с использованием CURLOPT_WRITEFUNCTION), то соединение остается активным, и пакет загружается.
Однако следующим шагом является разархивирование пакета, которое занимает некоторое время, а затем снова не удается (браузер закрывает соединение, так как ничего не получено).
Есть ли способ сохранить соединение, пока сервер выполняет обновление?
Есть несколько способов достичь желаемых результатов. Во-первых, вы можете установить несколько параметров cURL; CURLOPT_CONNECTTIMEOUT or CURLOPT_CONNECTTIMEOUT_MS
определит количество секунд (или миллисекунд) ожидания при попытке подключения. CURLOPT_TIMEOUT or CURLOPT_TIMEOUT_MS
определит количество секунд (или миллисекунд) для запуска curl перед закрытием соединения.
Вы также можете установить max_execution_time в php.ini, который по умолчанию равен 30 секундам. Обычно безопасно периодически менять это значение на большее, однако я бы посоветовал вам установить его на значение по умолчанию, равное 30 секундам, когда вы закончите то, что вам нужно сделать.
Вы можете просмотреть другие варианты скручивания и примеры Вот. Вы можете прочитать об изменении max_execution_time через конфигурацию времени выполнения Вот или через php.ini Вот
Других решений пока нет …