Recently, after installing WordPress on my local machine on Windows 10, I noticed that the WordPress had some issues with updating plugins and WordPress to a newer version. When I attempted to update plugins to a newer version, the update failed with the following warning message "no working transports found". Fortunately, the fix is simple and should also apply if you are using EasyPHP or WAMP development environment.
The exact error message the WordPress displayed when attempting to update plugins was:
And when trying to update WordPress to the latest version, it was giving me this message:
Installation Failed
It turns out, that this error message occurs when there are missing extensions on PHP, so WordPress is unable to make external HTTP requests. The solution is pretty simple. The missing extensions that make those HTTP requests possible already exist in PHP, they are just disabled. To enable them, we need to edit the php.ini configuration file.
Editing php.ini file
The php.ini file contains a list of many extensions with some of them disabled by default. The only one I had to enable was the openssl extension.
Here are the steps to enable that extension:
- Open File Explorer and locate the PHP folder. The path is usually
C:\php
. - Open the php.ini file in your favorite text editor and search for
extension=openssl
text. You should see that the extension is commented out:Note: On PHP versions older than 7.2.0, you might have the extension's file nameextension=php_openssl.dll
in the php.ini instead. - Uncomment that line by removing
;
character and save the changes. - All that is left is to restart the Apache server and we are done.
After going through the steps above, the WordPress site on my development server was able to update plugins without any problem.
If it still not working - enable cURL extension
If you still have issues, also try to enable the curl extension.
In some cases, the cURL extension won't work. We can confirm that the cURL is working by using the phpinfo() function that outputs all the PHP configuration information and check if the curl extension is displayed:
If the cURL extension is missing, check out the cURL extension not working when enabled article.
Conclusion
When installing PHP, Apache, MySQL locally to run a WordPress website or even if you use EasyPHP, WAMP web development environments, you might run into a trouble when trying to update plugins or WordPress core files to the newest version by getting the No working transport found error message. Fortunately, we can easily fix this by modifying the php.ini file and enabling an extension or two.
hamza korasawala
April 14, 2017Thank you so much. It is really helpful.
nartu
April 18, 2017It works, thank you very much!
Mauricio
April 22, 2017Thanks, it solved my problem.
yza
April 22, 2017Thanks a lot ! It works !
fixed
April 27, 2017Awesome!! Enabling
extension=php_curl.dll
worked! Thanks a lot!Mad
May 20, 2017THANK YOU A LOT !
Hans
May 24, 2017... auf einmal geht's. Thanks a lot!
Jeratin
May 28, 2017Thank You very much..!!!
Pedro
June 9, 2017Thanks, it Works.
Mick
June 12, 2017Thank you that worked for Wamp Server as well.
Lulidan
June 13, 2017Thanks, very helpful.
joshua
June 13, 2017God bless you my friend!
Ali Alizada
June 14, 2017Hey, thanks. It helped to solve my problem.
nadine
June 20, 2017Thanks a lot.
Moazzam
June 27, 2017It works. Thanks.
Kirti Bhargav
July 16, 2017It works. Thank you!
zinabu Teka
July 26, 2017Thank you very much. This solution was what I was really looking for!
earth Juice
August 2, 2017Sweet, worked with php 5.6 🙂
Mourade
August 4, 2017Thank you very much. Very useful.
jack
August 24, 2017I'm using Windows 7 and I don't find any folder named easyphp...
admin
August 24, 2017Hi,
Did you install EasyPHP? If so, the default path in Windows 7 should also be at:
C:\Program Files (x86)\EasyPHP-Devserver-17
. If you installed PHP manually from php.net, then check the folder where PHP is installed.Alternatively, go to File Explorer and search for "
php.ini
" file.Fabio
September 20, 2017Works well when activating openssl! Thanks!
BagherpourShirazi
October 12, 2017Thank you so much!!!!! ^_^
It fixed!!!!!!!
Wow, thank you.
Laurent
October 15, 2017Thank you very much. Time saved !
dentudix
November 10, 2017Aamzing! It works
Thanks a lot
Abhinav
November 14, 2017Thanks! It works.
Greg
November 27, 2017Thanks a lot! It is really helpful!
iona sequeira
January 27, 2018Thank You. This helped.
ben
February 6, 2018i use wamp server and i have the exact same issue..what do i do?
admin
February 6, 2018Just locate the php.ini file on the wamp server. If I remember correctly, the wamp has an icon from where you can select php.ini and edit it.
Patrice
February 24, 2018Huge thanks. Many time saved !
Matt
February 28, 2018Thank you so much!! It works !
Eduardo Weidman Barijan
March 15, 2018Thank you! I am not using EasyPHP but it helped me solving the problem as well as I have independent installs of PHP and Apache. Turns out the php.ini had the extensions names all missing the php_ prefix. Adding that and now it is working in localhost.
Divine
March 16, 2018Really worked in my win7 thanks man
Ira
March 23, 2018Thanks so much. It worked!!!
Elham
April 14, 2018Thanks so much. Its very good.
joshua
April 30, 2018Thanks a lot it worked and clear me off a lot of stress
David
May 19, 2018Thanks it works , devserver 17.0
Land Elders
June 6, 2018Thanks so much Bro. This helped me a great deal.
New Developer
June 18, 2018Works well even for WAMP. Thanks for a cup of coffee.
BillyBallBag
October 5, 2018Spot on!
olawale
October 12, 2018How do i enable extension=php_curl.dll?
admin
October 12, 2018Just remove the semicolon
;
at the beginning to uncomment the line in php.ini.kk
October 14, 2018thanks a lot. it works.
katilla
November 29, 20182018. 11. - devserver 17.0 - Thanks it works
Dan
February 21, 2019This is wonderful pal.
Thank for the info... try also to enable curl extension extension=php_curl.dll did the job !!
you are the best
aira
June 8, 2019Its not working on my pc.
Shahid Ali
July 1, 2019I have edited php.ini and uncommented
extension=php_curl.dll
but still not working and giving same errorInstallation failed: Download failed. No working transports found
admin
July 1, 2019Hi,
Have you also tried to uncomment
extension=php_openssl.dll
line?Also, after you restart the Apache, check with if the extensions you uncommented are listed when running
phpinfo()
command.David
July 10, 2019worked for me.
why is it working?
I'm also wondering why there's no any warning message points out the reason of not able to connect to internet..
really thanks
Eric
July 26, 2019I've recently upgraded my php version to 7.3.7. Earlier it was 5.5.12. Both versions are running on my wamp server. I had copied the php.ini and wampserver.conf files from my earlier version and made some change so that new version works. I've followed everything you've said for the "no working transports found", I even searched for other resources. But still I'm unable to solve it. Pls help me.
admin
July 27, 2019Hi,
Did the "no working transports found" only appear after the PHP version upgrade to 7.3.7.? Also, try to use
phpinfo()
command to confirm that the openssl or curl extension are really enabled.Ndjenaro Nang-Mba
August 16, 2019Thanks a lot my friend. You saved me a lot of time! Congrats!
Asma
December 17, 2019Thank you so much.
Amit Cohen
January 12, 2020You are my hero for the day
😉
Thank you
Abhishek
June 11, 2020Tried uncommenting extension=openssl, extension=curl but facing the same issue,and on running "WP CORE DOWNLOAD" it gives error "Error: Failed to get url 'https://api.wordpress.org/core/version-check/1.7/?locale=en_US': No working transports found."
Burhan ahmed
June 27, 2020Thank u soo much man you such a genius!
i wanted to add something in new version of easyphp 17 there is 4 files of php just goto in
C:\Program Files\EasyPHP-Devserver-17\eds-binaries\php
select yours php version php 5 or php 7 now you will see there are four files of [ php configuration , php ini bak , php ini development , and php ini production ] open these files one by one on notepad and remove this ( ; ) from [extension=php_curl.dll
andextension=php_curl.dll
]and save it. now restart your server and it will work perfectly.
i wanted to thanks again to the blogger for this solution it was really a headache thing.
Walter
September 12, 2020I ran into same problem but using USBWebser. I followed your instructions and the problem was fixed.
In USBWebserver go to the directory where you installed USBwebserver, go to map Settings and in the file php.ini uncomment
;extensions=openssl
Thank you for your help!
Robert L
December 2, 2020Thanks saved my day 🙂
Yoyoboy
February 21, 2021Thank you so much.
Stephanie Boucher
August 23, 2022Hello,
I am getting this error message but on my version of php.ini, extension=openssl is not commented out. There is no ";" to remove, and yet I still have the error message. Do you have any advice for this situation?
admin
August 23, 2022Hi,
Have you also tried to enable
extension=curl
extension? If this extension is enabled and it is still not working, try checking this cURL extension not working when enabled article.Jonas
December 27, 2022Hello,
I installed the Server with the description "How to install WordPress, PHP, Apache & MySQL on Windows" from your website and everything except for the problem "No working transports found" worked. I uncomment OpenSSL and CURL but it doesn't work. Do you have any other ideas?