Libcurl

"
Dev back

PHP 8.4: Curl: New `CURLOPT_PREREQFUNCTION` option

La version PHP 8.4 introduit une nouvelle option dans l'extension Curl, appelée `CURLOPT_PREREQFUNCTION`, qui permet de définir un rappel pour décider si une requête doit être poursuivie ou abandonnée après l'établissement de la connexion initiale. Cette fonctionnalité est utile pour éviter les requêtes sur des adresses IP intranet ou des pays sanctionnés. Trois nouvelles constantes sont également ajoutées pour faciliter cette gestion. Cette fonctionnalité nécessite une version de libcurl 7.80.0 ou supérieure et ne peut pas être rétroportée à des versions PHP antérieures.

"
Dev back

PHP 8.4: Curl: `curl_getinfo` - `CURLINFO_POSTTRANSFER_TIME_T` support

PHP 8.4 introduit des améliorations pour la fonction `curl_getinfo`, permettant de récupérer le temps d'envoi des données avec l'option `CURLINFO_POSTTRANSFER_TIME_T`, si le système utilise libcurl 8.10.0 ou supérieur. La fonction renvoie un tableau d'informations sur la requête, incluant un nouvel élément indiquant le temps d'envoi en microsecondes. Cette mise à jour permet des mesures plus précises lors de l'upload de fichiers à distance, malgré un impact théorique minimal sur la compatibilité avec les versions antérieures de PHP tant que la Curl extension est utilisée correctement.

"
Dev back

PHP 8.4: Curl: `CURLOPT_DNS_USE_GLOBAL_CACHE` no longer has any effect

La version PHP 8.4 ne permet plus l'utilisation de l'option CURLOPT_DNS_USE_GLOBAL_CACHE dans l'extension Curl, en raison de problèmes de sécurité liés à la non-sécurité des threads. PHP émettra un avertissement pour les constructions thread-safe empêchant cette option. Il est conseillé de partager le cache DNS entre les requêtes en utilisant des objets spécifiques et en s'appuyant sur le résolveur DNS du système pour une compatibilité et une gestion standard du cache.