Recently, I installed an EasyPHP devserver on my local machine running Win10 to work on a WordPress theme. The WordPress site was mostly working without a problem except in a dashboard section of the site, where it was having some issues with updating. When I tried to update plugins to a newer version, the update failed, giving me, there were "no working transports found" message. Fortunately, the fix is simple and it should also apply for WAMP or if you installed the PHP separately.
The exact error message the WordPress displayed was this:
Update Failed: Download failed. No working transports found
And when trying to update WordPress to the newest version, it was showing this message:
Download failed.: No working transports found
It turns out, this error message occurs when there are missing extensions on PHP, so the 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 of the EasyPHP application. On Windows 10, it should be:
C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-binaries\php
If you installed the PHP separately, the path is usually
- You will see two folders inside, one for PHP version 5.6.19 and one for the 7.0.4 version. Select the one the Apache server is using. If you are unsure, open the EasyPHP Dashboard and check the PHP number under "HTTP SERVER".
- Open php.ini file in your favorite text editor and search for
php_openssl.dll text. You should see that the extension is commented out:
Note: On PHP versions 7.2.0 and newer, you can either use the extension name or the extension's file name, so you might have
extension=openssl in the the php.ini file 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 you still have issues, try also to enable curl extension
Note: To restart the Apache, right-click on the EasyPHP notification icon, then select Open Dashboard to stop / start the Apache server.
When using a server like EasyPHP, WAMP or even if you installed PHP yourself to run WordPress website, 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 enable an extension or two.
If you have found this article useful, drop a comment or share it on social networks.