WordPress — PHP поддерживает HTTP-соединение, пока сервер загружает файл? (WP Upgrade)

Я пытаюсь выполнить Core WP Upgrade, и проблема у меня заключается в том, что серверу требуется время для загрузки пакета обновления и в течение этого времени не отправляется тело ответа, поэтому браузер завершает выполнение сценария (тайм-аут?), Который затем завершает Я предполагаю, что PHP-скрипт.

Временная работа, которую я обнаружил, заключается в том, что если я редактирую основные WP-файлы для вывода некоторого текста-заполнителя во время загрузки файла (он загружается через cURL с использованием CURLOPT_WRITEFUNCTION), то соединение остается активным, и пакет загружается.

Однако следующим шагом является разархивирование пакета, которое занимает некоторое время, а затем снова не удается (браузер закрывает соединение, так как ничего не получено).

Есть ли способ сохранить соединение, пока сервер выполняет обновление?

0

Решение

Есть несколько способов достичь желаемых результатов. Во-первых, вы можете установить несколько параметров 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 Вот

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector