All add-ons currently require PHP 7.4 or greater.

On July 4th 2024 PHP 8.2 will be the new minimum requirement for all add-ons. Expect any add-on released after that date to require 8.2 or greater. Some releases may not immediately take advantage of 8.x specific features in PHP, which means you might, be able to continue using new releases in PHP 7.4, however, if you experience an error the first thing you should do is update to PHP 8.2 then create a support ticket if the error persists.

Publisher does not support the Fluid field type. Please do not contact asking when support will be available.

If you purchased an add-on from expressionengine.com, be sure to visit boldminded.com/claim to add the license to your account here on boldminded.com.

Ticket: guzzle chooseHandler conflict with cartthrob

Status Resolved
Add-on / Version Reel 1.5.3
Severity
EE Version 6.0.6

Randall Ward

Sep 30, 2021

When trying to access cartthrob 6.0.2 cp settings am getting a Reel guzzle function error. Assuming it’s a version conflict (re: a slack comment 8-25-21)? This is after upgrade to ee6 on local install.

Call to undefined method GuzzleHttp\Utils::chooseHandler()
user/addons/reel/vendor/guzzlehttp/guzzle/src/functions.php:61

Stack Trace:
#0 user/addons/cartthrob/vendor/php-http/guzzle6-adapter/src/Client.php(70): GuzzleHttp\choose_handler()
#1 user/addons/cartthrob/vendor/php-http/guzzle6-adapter/src/Client.php(31): Http\Adapter\Guzzle6\Client::buildClient()
#2 user/addons/cartthrob/vendor/php-http/discovery/src/ClassDiscovery.php(213): Http\Adapter\Guzzle6\Client->__construct()
#3 user/addons/cartthrob/vendor/php-http/discovery/src/HttpClientDiscovery.php(30): Http\Discovery\ClassDiscovery::instantiateClass(‘Http\\Adapter\\Gu…’)
#4 user/addons/cartthrob/vendor/omnipay/common/src/Common/Http/Client.php(34): Http\Discovery\HttpClientDiscovery::find()
#5 user/addons/cartthrob/vendor/omnipay/common/src/Common/AbstractGateway.php(332): Omnipay\Common\Http\Client->__construct()
#6 user/addons/cartthrob/vendor/omnipay/common/src/Common/AbstractGateway.php(69): Omnipay\Common\AbstractGateway->getDefaultHttpClient()
#7 user/addons/cartthrob/vendor/omnipay/common/src/Common/GatewayFactory.php(88): Omnipay\Common\AbstractGateway->__construct(NULL, NULL)
#8 [internal function]: Omnipay\Common\GatewayFactory->create(’\\Omnipay\\PayPal…’)
#9 user/addons/cartthrob/vendor/omnipay/common/src/Omnipay.php(116): call_user_func_array(Array, Array)
#10 user/addons/cartthrob/cartthrob/plugins/payment_gateways/Cartthrob_paypal_express.php(256): Omnipay\Omnipay::__callStatic(‘create’, Array)
#11 user/addons/cartthrob/libraries/api/Api_cartthrob_payment_gateways.php(383): Cartthrob_paypal_express->__construct()
#12 user/addons/cartthrob/libraries/api/Api_cartthrob_payment_gateways.php(329): Api_cartthrob_payment_gateways->loadGatewaysByPath()
#13 user/addons/cartthrob/mcp.cartthrob.php(597): Api_cartthrob_payment_gateways->gateways()
#14 user/addons/cartthrob/mcp.cartthrob.php(324): Cartthrob_mcp->paymentGateways()
#15 user/addons/cartthrob/mcp.cartthrob.php(132): Cartthrob_mcp->loadView(‘global_settings’)
#16 [internal function]: Cartthrob_mcp->global_settings()
#17 ee/ExpressionEngine/Controller/Addons/Addons.php(1397): call_user_func_array(Array, Array)
#18 ee/ExpressionEngine/Controller/Addons/Addons.php(701): ExpressionEngine\Controller\Addons\Addons->getModuleSettings(‘cartthrob’, ‘global_settings’, Array)
#19 [internal function]: ExpressionEngine\Controller\Addons\Addons->settings(‘cartthrob’, ‘global_settings’)
#20 ee/ExpressionEngine/Core/Core.php(251): call_user_func_array(Array, Array)
#21 ee/ExpressionEngine/Core/Core.php(111): ExpressionEngine\Core\Core->runController(Array)
#22 ee/ExpressionEngine/Boot/boot.php(161): ExpressionEngine\Core\Core->run(Object(ExpressionEngine\Core\Request))
#23 public/admin/index.php(144): require_once(’...’)
#23 public/admin/index.php(144): require_once(’...’)

Thank you -

#1

Randall Ward

Update, response of some options from ct guys:

“2. Modify one of the add-ons so they’re using the same library version or at least same prototype 3. Contact Boldminded about ensuring a compatible version of the library”

Is #3 a possibility?

#2

BoldMinded (Brian)

What version of Guzzle is Cartthrob using? Looks like 6?

#3

BoldMinded (Brian)

It looks like Reel is shipping with version 7, which is what the Google API Client requires (I don’t specify which version of Guzzle is loaded). If CT Is loading v6, then I think they need to upgrade, not me. I’m certainly not going to downgrade 😊

Login to reply