Many of our items use the Guzzle library. Since it is quite popular, other authors also use it in their products. This is not a problem as long as all products on the site have the same version of the Guzzle library. More and more often, users contact us in regards to error types like:
Call to undefined method GuzzleHttp\Utils::chooseHandler()
on line 61
This or a similar error means that one of your third-party plugins also uses the Guzzle library and there is a conflict due to different versions. We try to update plugins in time to maintain the latest library version in the product.
There are two ways to solve the problem:
You need to find out which plugin is causing the conflict. To do this, try disabling all third party plugins and enabling them one by one to determine in such a way which one has another Guzzle version.
When you define a plugin with an outdated library you can contact the authors of the plugin and ask to update the Guzzle library to the latest version but while you are waiting for the update you should disable one of the plugins to avoid conflict.
If you can't disable a third-party plugin that also uses the Guzzle library due to the importance of its functionality you can make minor changes in the Speaker plugin.
Please note: Any changes made to the plugin files will be removed when the plugin is updated. Therefore, if you choose this way, the changes below will need to be repeated every time after the update.
To get access to the plugin files you can use different tools like FTP, File Manager in your Cpanel or install one of the available File Manager plugins on your WordPress site like WP File Manager.
Open the file wp-content>plugins>speaker>vendor>composer>autoload_static.php and comment out the line 11-13 by adding a double slash at the beginning of the lines. Save the changes in the file.
This method will not work if the plugin which is also using Guzzle, has a library version lower than 5.0.0.