Xestores cURL de PHP e reutilización de conexións do proxy
Distinga conservar a caché de conexións de libcurl da garantía de que unha conexión TCP a través dun proxy siga viva.
Conservar un xestor de cURL pode permitir que transferencias posteriores reutilicen conexións compatibles en caché. Non obstante, non pode obrigar un proxy a manter unha conexión TCP aberta indefinidamente.
A outra parte pode pechar unha conexión inactiva, un camiño de rede pode desaparecer e unha transferencia posterior pode necesitar outra ruta ou túnel. A reutilización é unha optimización do cliente suxeita a esas condicións, non unha garantía de dispoñibilidade.
Para traballo repetido cunha mesma política de proxy, manteña vivo o xestor correspondente ou a caché de conexións multi-handle e evite as opcións que solicitan deliberadamente conexións novas ou prohiben a reutilización, agás que a tarefa as necesite. Inspeccione o comportamento real da transferencia antes de supor que unha segunda petición máis curta demostra a reutilización.
Teña coidado cos exemplos antigos de PHP que afirman que a conexión permanece aberta "ata curl_close". PHP documenta que curl_close() non ten ningún efecto desde PHP 8.0 e que está obsoleto desde PHP 8.5. A propiedade dos recursos e o ciclo de vida dos obxectos deben entenderse na versión de PHP que despregue.
Un temporizador que envía peticións repetidas para manter quente o proxy engade tráfico e aínda así non pode impedir que o extremo remoto peche. Prefira a xestión normal de conexións, as peticións limitadas e regras de reintento claras fronte á promesa de que unha conexión de proxy sempre sobrevivirá.