Я посмотрел код обновления WordPress и проследил его до класса WP_Http ( источник файла ), где происходит фактическая загрузка файла.Этот класс будет использовать один из многих встроенных методов для извлечения файлов, если предпочтительные функции недоступны:
Порядок запросов GET / HEAD: HTTP Extension, cURL, Streams, Fopen,и, наконец, Fsockopen.
Один из сценариев состоит в том, что ваш хост на самом деле не блокирует трафик через порт 80, а скорее делает загрузку файлов трудной, не включая расширение cURL и настройку allow_url_fopen
в false, чтобы предотвратить общие уязвимости внедрения кода.В этом случае возможно, что WordPress преуспевает, используя один из других методов для извлечения данных.В этом сценарии вы можете загружать файлы с помощью PHP-сценариев (в порядке предпочтения):
- Проверьте, поддерживает ли ваш хост расширение HTTP , и используйте его вместо * 1019.* или cURL.
- Включите и используйте
wp-includes/class-http.php
и используйте его в своих сценариях, чтобы обойти эти ограничения. - Напишите / используйте другую библиотеку, которая предоставляетзагрузка файлов через Streams или Fsockopen.
Альтернативный сценарий заключается в том, что ваш хост блокирует трафик на порту 80, но имеет белый список wordpress.org, позволяющий WordPress обновлятьсясам.В этом случае вам не повезло, если вы не можете настроить какое-либо решение для прокси на другом порту.