Jawaban:
Situs WordPress sebagian besar berfungsi tanpa masalah kecuali di bagian dasbor situs, di mana ada beberapa masalah dengan pembaruan atau pemasangan. Ketika saya mencoba untuk menginstal tema, itu memberi saya kesalahan "Instalasi gagal: Unduhan gagal. Tidak ada angkutan yang berfungsi ditemukan".
Untungnya, saya memperbaiki masalah dengan solusi berikut .
Ternyata, pesan kesalahan ini terjadi ketika ada ekstensi yang hilang pada server pengembangan, sehingga WordPress tidak dapat membuat permintaan HTTP eksternal.
Solusinya cukup sederhana. Ekstensi yang hilang yang memungkinkan permintaan HTTP itu sudah diinstal dengan Wamp Server, Secara default, itu hanya dinonaktifkan. Untuk mengaktifkannya, kita perlu mengedit file konfigurasi php.ini.
Mengedit file php.ini
File php.ini berisi daftar banyak ekstensi dengan beberapa di antaranya dinonaktifkan secara default. Satu-satunya yang harus saya aktifkan adalah ekstensi openssl.
Berikut langkah-langkah untuk mengaktifkan ekstensi itu:
Itu Dia Kita Selesai !!!
WordPress HTTP API telah dibangun sedemikian rupa sehingga berfungsi pada banyak server mungkin, mencoba berbagai cara (transportasi) untuk melakukannya.
Menurut pesan kesalahan, tidak ada transportasi yang berfungsi dan dengan demikian WordPress tidak dapat membuat permintaan HTTP keluar.
Saya sarankan Anda untuk menginstal sesuatu seperti plugin Core Control WordPress, yang memungkinkan Anda untuk men-debug semua transport HTTP yang ada. Sangat mungkin bahwa sementara satu transportasi tidak berfungsi, yang lain mungkin baik-baik saja. Plugin ini memungkinkan Anda untuk menonaktifkan yang rusak dan menguji HTTP API dengan transport baru.
Jika ternyata memang tidak ada transportasi yang berfungsi, Anda harus menghubungi penyedia hosting Anda untuk setidaknya menginstal sesuatu seperti cURL di server sehingga Anda dapat membuat permintaan HTTP dalam PHP.
Saran tentang pesan kesalahan ini cukup bervariasi dan tampaknya tidak ada yang memberikan jawaban yang komprehensif (Lihat beberapa blog , jawaban yang sama dan di sini dan di sini di SO). Semoga ini adalah cara yang lebih formal untuk menyelesaikan masalah.
Saya menganggap hanya WordPress pada PHP yang dilayani melalui Apache (saya tidak dapat mengomentari NginX saat ini karena saya belum mencobanya dengan PHP, saya juga tidak dapat mengomentari kerangka kerja lain). Jawabannya mungkin menunjukkan bias ringan terhadap Windows 10 dengan Apache 2.4.37 yang dibangun sendiri, threaded safe safe PHP 7.2 dan WordPress 4.2.X.
PHP dan cURL menjelaskan, lebih baik orang dapat menambahkan, bahwa di bawah kap WordPress mengandalkan Requests
, bungkus di sekitar cURL
dan fSockets
perpustakaan. Requests
lebih suka cURL
perpustakaan jika tersedia tetapi seharusnya akan kembali ke fSockets
perpustakaan untuk mengunduh Plugin / Tema / dll. Kesalahan "No transports" mengindikasikan bahwa tidak ada perpustakaan yang dikonfigurasi dengan benar dalam Apache atau PHP. Mungkin juga firewall yang mengganggu proses juga.
Uji konfigurasi pengaturan Apache dan PHP dan memuat skrip PHPinfo standar dari browser Anda. Ini harus memiliki bagian terpisah yang berhak cURL
entri yang menunjukkan berbagai informasi. Jika tidak, siapkan dan muat skrip berikut untuk diperiksa.
<?php
echo 'Curl: ', function_exists('curl_init') ? 'Enabled' : 'Disabled';
?>
Saya tidak tahu bagaimana cara menguji fScokets
.
Untuk memastikan ketersediaan cURL
tampaknya diperlukan untuk mengaktifkannya di dalam php.ini
.
Pastikan bahwa menunjuk extentions_dir
dengan benar ke folder ekstensi tersebut
extentions_dir="ext"
(Atau extentions_dir="D:PATH/TO/php/ext"
sering disarankan)
Pastikan cURL
ekstensi telah diaktifkan
extension=curl
( extentions=php_curl(.so|.dll)
atau extentions="PATH/TO/php_curl(.so|.dll)"
juga disarankan, mungkin untuk PHP <7.2)
Dari PHP tampaknya eay32
,, ssh2
dan ssleay32
pustaka juga harus tersedia pada jalur yang (Dengan OpenSSL 1.1 eay32
diubah namanya crypto-*
dan ssleay32
diganti namanya ssl-*
). Setelah windows hack jelek adalah untuk menyalin perpustakaan ini dari folder root PHP ke folder system32
atau wow64
. Solusi yang lebih baik adalah memodifikasi variabel path yang menyertakan folder root PHP (Secara pribadi saya lebih suka path bersih yang saya konfigurasikan seperti yang diperlukan tetapi ini adalah PHP). Pada kotak * nix sepertinya hanya perlu menginstal php5-curl
paket untuk distro-distro tersebut.
Catatan: Komentar pada halaman PHP menyarankan bahwa seseorang dapat dengan mudah menambahkan LoadFile "PATH/TO/lib(eay32|ssh2)|ssleay32.dll"
entri ke yang httpd.conf
tetapi cURL
tampaknya mencari perpustakaan ini di jalur yang; menolak saran. Orang-orang XAmpp / Wamp lolos dengan langkah ini karena mereka tampaknya membuang root mereka sendiri di jalur sistem yang.
Setelah selesai restart Apache. Jika Anda menggunakan monitor Apache, Anda harus benar-benar berhenti dan kemudian memulai Apache; ini mengatur lingkungan baru untuk menjalankan layanan (Menyimpan Anda me-restart).
Saya tidak tahu apa yang diperlukan untuk menjalankan ini.