Câu trả lời:
Trang web WordPress chủ yếu hoạt động mà không gặp sự cố gì, ngoại trừ trong phần bảng điều khiển của trang web, nơi nó gặp một số vấn đề với việc cập nhật hoặc cài đặt. Khi tôi cố gắng cài đặt chủ đề, nó đã báo lỗi "Cài đặt thất bại: Tải xuống không thành công. Không tìm thấy vận chuyển hoạt động".
May mắn thay, tôi đã khắc phục vấn đề với giải pháp sau đây .
Hóa ra, thông báo lỗi này xảy ra khi thiếu các tiện ích mở rộng trên máy chủ phát triển, do đó WordPress không thể thực hiện các yêu cầu HTTP bên ngoài.
Giải pháp khá đơn giản. Các tiện ích mở rộng bị thiếu khiến các yêu cầu HTTP đó có thể được cài đặt với Wamp Server, theo mặc định, chúng chỉ bị vô hiệu hóa. Để kích hoạt chúng, chúng ta cần chỉnh sửa tệp cấu hình php.ini.
Chỉnh sửa tệp php.ini
Tệp php.ini chứa một danh sách nhiều phần mở rộng với một số phần mở rộng bị tắt theo mặc định. Cái duy nhất tôi phải kích hoạt là phần mở rộng openssl.
Dưới đây là các bước để kích hoạt tiện ích mở rộng đó:
Thế là xong rồi !!!
API HTTP WordPress đã được xây dựng theo cách nó hoạt động trên nhiều máy chủ nhất có thể, thử các cách khác nhau (vận chuyển) để làm như vậy.
Theo thông báo lỗi, không có vận chuyển nào hoạt động và do đó WordPress không thể thực hiện bất kỳ yêu cầu HTTP gửi đi nào.
Tôi khuyên bạn nên cài đặt một cái gì đó như plugin Core Control WordPress, cho phép bạn gỡ lỗi tất cả các vận chuyển HTTP hiện có. Hoàn toàn có thể là trong khi một phương tiện giao thông không hoạt động, một phương tiện khác có thể ổn. Plugin này cho phép bạn vô hiệu hóa cái bị hỏng và kiểm tra API HTTP với phương tiện vận chuyển mới.
Nếu thực tế không có phương tiện vận chuyển nào hoạt động, bạn nên liên hệ với nhà cung cấp dịch vụ lưu trữ của mình để ít nhất cài đặt một cái gì đó như cURL trên máy chủ để bạn có thể thực hiện các yêu cầu HTTP trong PHP.
Lời khuyên về thông báo lỗi này khá đa dạng và dường như không ai cung cấp câu trả lời toàn diện (Xem một số blog , một câu trả lời trùng lặp và ở đây và ở đây trên SO). Hy vọng rằng đây là một vấn đề chính thức hơn về vấn đề này.
Tôi chỉ xem xét WordPress trên PHP được phân phối qua Apache (Tôi không thể nhận xét về NginX tại thời điểm này vì tôi chưa thử nó với PHP, tôi cũng không thể nhận xét về các khung công tác khác). Câu trả lời có thể thể hiện sự thiên vị nhẹ đối với Windows 10 với Apache 2.4.37 tự xây dựng, trích xuất luồng an toàn PHP 7.2 và WordPress 4.2.X.
PHP và cURL giải thích, khá độc đáo người ta có thể thêm vào, dưới cái mũ mà WordPress dựa vào Requests
, một trình bao bọc xung quanh cURL
và fSockets
các thư viện. Requests
thích cURL
thư viện hơn nếu có nhưng sẽ quay lại fSockets
thư viện để tải xuống Plugins / Themes / v.v. Lỗi "Không vận chuyển" là dấu hiệu cho thấy không có thư viện nào được cấu hình đúng trong cả Apache hoặc PHP. Nó cũng có thể là những tường lửa cũng can thiệp vào quá trình.
Kiểm tra cấu hình của cả Apache và PHP thiết lập và tải tập lệnh PHPinfo tiêu chuẩn từ trình duyệt của bạn. Điều này nên có một phần riêng có tiêu đề cURL
mà các mục nhập hiển thị thông tin khác nhau. Nếu không thiết lập và tải tập lệnh sau để kiểm tra.
<?php
echo 'Curl: ', function_exists('curl_init') ? 'Enabled' : 'Disabled';
?>
Tôi không biết làm thế nào để kiểm tra fScokets
.
Để đảm bảo sự sẵn cURL
có dường như là cần thiết để kích hoạt nó trong php.ini
.
Đảm bảo rằng các extentions_dir
điểm chính xác đến thư mục tiện ích mở rộng
extentions_dir="ext"
(Cách khác extentions_dir="D:PATH/TO/php/ext"
thường được đề xuất)
Đảm bảo rằng phần cURL
mở rộng được bật
extension=curl
( extentions=php_curl(.so|.dll)
hoặc extentions="PATH/TO/php_curl(.so|.dll)"
cũng được đề xuất, có thể cho PHP <7.2)
Từ PHP có vẻ như eay32
, ssh2
và ssleay32
thư viện cũng phải cung cấp theo những đường dẫn (Với OpenSSL 1.1 eay32
được đổi tên crypto-*
và ssleay32
được đổi tên ssl-*
). Trên cửa sổ, hack xấu xí là sao chép các thư viện này từ thư mục gốc PHP vào thư mục system32
hoặc wow64
. Giải pháp tốt hơn là sửa đổi biến đường dẫn để bao gồm thư mục gốc PHP (Cá nhân tôi thích một đường dẫn sạch mà tôi định cấu hình theo yêu cầu nhưng đây là PHP). Trên các hộp * nix, có vẻ như người ta chỉ cần cài đặt php5-curl
gói cho các bản phân phối.
Lưu ý: Các ý kiến trên trang PHP cho thấy rằng người ta có thể chỉ cần thêm LoadFile "PATH/TO/lib(eay32|ssh2)|ssleay32.dll"
các mục vào một mục httpd.conf
nhưng cURL
dường như tìm kiếm các thư viện này theo các đường dẫn; khởi động đề nghị. Những người XAmpp / Wamp thoát khỏi bước này khi họ dường như đổ gốc của mình vào đường dẫn hệ thống.
Sau khi hoàn thành khởi động lại Apache. Nếu bạn đang sử dụng màn hình Apache, bạn thực sự nên dừng lại và sau đó khởi động Apache; điều này thiết lập một môi trường mới để dịch vụ chạy vào (Tiết kiệm cho bạn khởi động lại).
Tôi không biết những gì cần thiết để thực hiện điều này.