Ошибка установки: Загрузка не удалась. Не найдены рабочие транспорты

25 янв. 2018 г., 12:19:28
Просмотры: 35.2K
Голосов: 15

'Installation failed: Download failed. No working transports found'.

Эта ошибка появилась, когда я попытался установить тему в WordPress. Как решить эту проблему?

1
Комментарии

у вас такая же ошибка при установке плагина?

mmm mmm
25 янв. 2018 г. 13:02:01
Все ответы на вопрос 7
3
23

Сайт на WordPress работал практически без проблем, за исключением раздела админ-панели, где возникали трудности с обновлением или установкой. При попытке установить тему появлялась ошибка: "Ошибка установки: Не удалось загрузить файл. Не найдено рабочих транспортов".

К счастью, я нашел решение этой проблемы.

Оказалось, что данная ошибка возникает из-за отсутствующих расширений на сервере разработки, из-за чего WordPress не может выполнять внешние HTTP-запросы.

Решение довольно простое. Необходимые расширения для выполнения HTTP-запросов уже установлены в Wamp Server, но по умолчанию они отключены. Чтобы их активировать, нужно отредактировать файл конфигурации php.ini.

Редактирование файла php.ini

Файл php.ini содержит список множества расширений, некоторые из которых отключены по умолчанию. В моем случае требовалось включить только расширение openssl.

Шаги для активации этого расширения:

  1. Запустите Wamp Server.
  2. Нажмите на иконку Wamp Server и перейдите в раздел PHP → php.ini.
  3. Дважды кликните на php.ini — файл откроется в вашем текстовом редакторе по умолчанию.
  4. Найдите в файле строку php_openssl.dll. ->Вы увидите, что расширение закомментировано: ;extension=php_openssl.dll
  5. Раскомментируйте строку, удалив точку с запятой (;).
  6. Сохраните изменения.
  7. Перезапустите Wamp Server.

Готово! Проблема решена!!!

19 апр. 2018 г. 08:19:22
Комментарии

Спасибо, вы сделали мой день

marcoqf73 marcoqf73
19 авг. 2020 г. 16:27:22

На моем сервере Wamp (PHP 7) расширение называется просто openssl, а не php_openssl. Раскомментировав строку ;extension=openssl, как указано в вашей инструкции, я решил эту проблему, спасибо!

dading84 dading84
8 дек. 2020 г. 19:09:16

Это решение сработало для меня на XAMPP с PHP 7.4 на Windows 10 64-bit.

ManuAlvarado22 ManuAlvarado22
22 янв. 2022 г. 00:04:18
0

Я получал эту ошибку, потому что в моем PHP (php.ini) не было активировано расширение "cURL". Я просто активировал это расширение и перезапустил сервер. Проблема решена.

Примечание: это похожий ответ на ответ "Ashish Madhavacharya" выше, но конкретно решается активацией расширения php_curl.dll (а не openssl расширения, которое не должно иметь отношения к этой ошибке, которую вы получаете.)

2 нояб. 2020 г. 17:43:59
0

HTTP API WordPress разработан таким образом, чтобы работать на максимально возможном количестве серверов, используя различные методы (транспорты) для этого.

Согласно сообщению об ошибке, ни один из транспортов не работает, и WordPress не может выполнять исходящие HTTP-запросы.

Я рекомендую установить плагин, например Core Control для WordPress, который позволяет отлаживать все доступные HTTP-транспорты. Вполне возможно, что если один транспорт не работает, другой может быть исправен. Этот плагин позволяет отключить неработающий транспорт и протестировать HTTP API с другим транспортом.

Если окажется, что действительно ни один из транспортов не работает, следует обратиться к вашему хостинг-провайдеру с просьбой установить, как минимум, cURL на сервер, чтобы можно было выполнять HTTP-запросы из PHP.

25 янв. 2018 г. 14:30:14
0

Советы по поводу этого сообщения об ошибке довольно разнообразны, и никто не предоставляет исчерпывающего ответа (см. некоторые блоги, дублирующий ответ, а также здесь и здесь на Stack Overflow). Надеюсь, это более формальный подход к проблеме.

Я рассматриваю только WordPress на PHP, работающий через Apache (я не могу комментировать NginX на данный момент, так как не пробовал его с PHP, а также не могу говорить о других фреймворках). Ответ может содержать небольшую предвзятость в сторону Windows 10 с самостоятельно собранным Apache 2.4.37, потокобезопасным PHP 7.2 и WordPress 4.2.X.

Общая информация

PHP и cURL довольно хорошо объясняют, что WordPress под капотом использует Requests, обёртку вокруг библиотек cURL и fSockets. Requests предпочитает библиотеку cURL, если она доступна, но, предположительно, может переключиться на fSockets для загрузки плагинов, тем и т. д. Ошибка "No transports" указывает на то, что ни одна из этих библиотек не настроена правильно ни в Apache, ни в PHP. Также возможно, что ваш файрвол мешает процессу.

Проверка

Протестируйте конфигурацию Apache и PHP, создав и загрузив стандартный скрипт PHPinfo в браузере. В нём должен быть отдельный раздел cURL, содержащий различную информацию. В противном случае создайте и загрузите следующий скрипт для проверки:

<?php
echo 'Curl: ', function_exists('curl_init') ? 'Включён' : 'Отключён';
?>

Я не знаю, как проверить fSockets.

cURL

Чтобы обеспечить доступность cURL, необходимо включить его в php.ini.

  • Убедитесь, что extension_dir указывает на папку с расширениями:

    extension_dir="ext"

    (Альтернативно часто предлагают extension_dir="D:ПУТЬ/К/php/ext")

  • Убедитесь, что расширение cURL включено:

    extension=curl

    (Также предлагают extensions=php_curl(.so|.dll) или extensions="ПУТЬ/К/php_curl(.so|.dll)", возможно, для PHP <7.2)

  • Согласно PHP, библиотеки eay32, ssh2 и ssleay32 также должны быть доступны в вашем PATH (в OpenSSL 1.1 eay32 был переименован в crypto-*, а ssleay32 — в ssl-*). В Windows можно скопировать эти библиотеки из корневой папки PHP в system32 или wow64, но это некрасиво. Лучше изменить переменную PATH, добавив корневую папку PHP (лично я предпочитаю чистый PATH, который настраиваю по необходимости, но это PHP). В *nix-системах достаточно установить пакет php5-curl для вашего дистрибутива.

    Примечание: Комментарии на странице PHP предполагают, что можно просто добавить записи LoadFile "ПУТЬ/К/lib(eay32|ssh2)|ssleay32.dll" в httpd.conf, но cURL ищет эти библиотеки в PATH, что делает предложение бесполезным. Пользователи XAMPP/WAMP обходятся без этого шага, так как их корневая папка обычно уже добавлена в PATH.

После этого перезапустите Apache. Если вы используете Apache Monitor, лучше сначала остановить, а затем запустить Apache — это создаст новую среду для работы службы (и избавит от перезагрузки системы).

fSockets

Я не знаю, что нужно сделать для его настройки.

2 авг. 2018 г. 02:20:25
0

У меня была такая же проблема, и приведенные выше исправления не помогли. Я нашел страницу на форуме WAMP, где кто-то решил эту проблему, обновив Apache до последней версии. Я попробовал это, и у меня сработало.

19 февр. 2021 г. 03:17:01
0

Публикую свой хак здесь для будущих искателей в Google:

Я скачал ZIP-архив плагина с сайтов соответствующих вендоров, поместил его в /var/www/html/wp-content/plugins/, распаковал и активировал через админку WordPress.


Мне пришлось сделать это, потому что после включения ;extension=openssl в php.ini и перезапуска PHP-сервера, он не мог найти openssl.so, несмотря на то что я компилировал PHP с флагом --with-openssl.

4 февр. 2022 г. 00:39:02
0

Пришлось включить все эти расширения

  • php_openssl
  • php_sockets
  • php_curl
  • php_fileinfo
  • php_mbstring

И перезапустить WAMP. Это можно сделать в .ini-файле вашей версии PHP или через панель управления WAMP

3 февр. 2025 г. 11:38:50