Call to undefined method GuzzleHttp\Psr7\Utils::asciiToUpper() after update

after upgrade to 4.4.1 got this error on backend, then it is unable to load latest versions info
any ajax request in system settings → installation of plugins, themes, updates, all down due this error

This is a Guzzle package that’s out of sync in your vendor/ folder — Utils::asciiToUpper() was added in guzzlehttp/psr7 2.8.0, but your install still has an older copy of that class, so the code calls a method that isn’t there. Every backend update/marketplace request goes through Guzzle, which is why they all fail.

Can you post the output of:

composer show guzzlehttp/psr7 guzzlehttp/guzzle

and let me know how you upgraded to 4.4.1 (composer update, backend updater, or manual file copy)?

The fix is almost certainly:

composer update guzzlehttp/psr7 -W

and if that doesn’t sort it, a clean rebuild:

rm -rf vendor composer.lock && composer install

Then restart PHP-FPM / your web server to clear opcache.

after full vendor removal with composer.lock and reinstalling …
still got wrong guzzle/psr

 cat composer.lock | grep "guzzle"
                "guzzlehttp/guzzle": "^7.4",
            "name": "guzzlehttp/guzzle",
                "url": "https://github.com/guzzle/guzzle.git",
                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee80339fd9177ba44c49cdb653ff02a4d1106b9a",
                "guzzlehttp/promises": "^2.5.3",
                "guzzlehttp/psr7": "^2.13.1",
                "guzzle/client-integration-tests": "3.0.3",
                "guzzlehttp/test-server": "^0.7",
                "issues": "https://github.com/guzzle/guzzle/issues",
                "source": "https://github.com/guzzle/guzzle/tree/7.15.5"
                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
            "name": "guzzlehttp/promises",
                "url": "https://github.com/guzzle/promises.git",
                "url": "https://api.github.com/repos/guzzle/promises/zipball/cde49999552d185d64715fe9c1f77a2aadd2f9f1",
                "issues": "https://github.com/guzzle/promises/issues",
                "source": "https://github.com/guzzle/promises/tree/2.5.3"
                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
            "name": "guzzlehttp/psr7",
                "url": "https://github.com/guzzle/psr7.git",
                "url": "https://api.github.com/repos/guzzle/psr7/zipball/95e7828100de18b4e269fb1703be530082d5166d",
                "issues": "https://github.com/guzzle/psr7/issues",
                "source": "https://github.com/guzzle/psr7/tree/2.13.1"
                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
            "name": "guzzlehttp/uri-template",
                "url": "https://github.com/guzzle/uri-template.git",
                "url": "https://api.github.com/repos/guzzle/uri-template/zipball/d0058dccf4299d70c3d9da3378b8908b32780368",
                "guzzlehttp",
                "issues": "https://github.com/guzzle/uri-template/issues",
                "source": "https://github.com/guzzle/uri-template/tree/v1.0.11"
                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template",
                "guzzlehttp/guzzle": "^7.8.2",
                "guzzlehttp/uri-template": "^1.0",
                "guzzlehttp/promises": "^2.0.3",
                "guzzlehttp/psr7": "^2.4",
                "guzzlehttp/guzzle": "<7.0",
                "guzzlehttp/ringphp": "<1.1.1",
                "guzzlehttp/psr7": "^2.6",
                "guzzlehttp/guzzle": "^7.4.5",
                "guzzlehttp/psr7": "^2.2",

updated composer.json to require october 4.4 instead of 4.2 …
got
Installing guzzlehttp/psr7 (3.1.0): Extracting archive

but at backend still no change and got same asciiToUpper error.

Check your plugins, one of them may have a vendor directory that is loading an old version of guzzle…

yup, multiple old plugins (unused) has composer with old guzzle. thanks

1 Like

Glad you got it solved. Thanks for reporting back!