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:
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
- Open the php.ini file in your favorite text editor and search for
extension=openssltext. 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 name
extension=php_openssl.dllin 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.
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.