guzzle / guzzle

Guzzle, an extensible PHP HTTP client

Home Page:https://docs.guzzlephp.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[PHP 8.2] Deprecated: dynamic property ...\CurlMultiHandler::$_mh

sapphirecat opened this issue · comments

Guzzle version(s) affected: 7.4.5
PHP version: 8.2.0beta2 (cli)
cURL version: 7.81.0

Description
Using the AWS SDK with current Guzzle 7 produces a warning:

Deprecated: Creation of dynamic property GuzzleHttp\Handler\CurlMultiHandler::$_mh is deprecated in /[PROJECT_DIR]/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php on line 103

More info: PHP RFC

How to reproduce
See attached zip file; it contains a root directory with composer files and "run.php" script. When run under PHP 8.2, it generates a few deprecation warnings about callable syntax in the AWS SDK, then the final message from Guzzle.

guzzle-php82-deprecation.zip

Additional context

This is an Ubuntu 22.04 server VM. The precise libcurl packages installed are as follows:

$ apt list --installed 'libcurl*'
libcurl3-gnutls/jammy-updates,jammy-security,now 7.81.0-1ubuntu1.3 amd64 [installed,automatic]
libcurl4-gnutls-dev/jammy-updates,jammy-security,now 7.81.0-1ubuntu1.3 amd64 [installed]
libcurl4/jammy-updates,jammy-security,now 7.81.0-1ubuntu1.3 amd64 [installed,automatic]

Thanks for getting in touch. We're aware of this issue, and have fixed it already. We'll cut a release with the fix no later than before PHP 8.2.0 stable is released. Until then, you can use the dev stability version of Guzzle to get the fix.

Guzzle 7.5.0 is now released, with PHP 8.2 support.