(PHP 8 >= 8.5.0)
curl_share_init_persistent — Inicializa un gestor cURL "share" persistent
Inicializa un gestor cURL "share" persistent
con las opciones de partage dadas. A diferencia de curl_share_init(),
los gestores creados por esta función no serán destruidos al final de la
petición PHP. Si se encuentra un gestor de partage persistente con el mismo conjunto
de share_options
, será reutilizado.
share_options
CURL_LOCK_DATA_*
.
Nota:
CURL_LOCK_DATA_COOKIE
no está permitido y, si se especifica, esta función lanzará una ValueError. El partage de cookies entre las peticiones PHP puede llevar a una mezcla involuntaria de cookies sensibles entre los usuarios.
Devuelve un CurlSharePersistentHandle.
share_options
está vacío, esta función lanza
una ValueError.
share_options
contiene un valor que no corresponde
a una CURL_LOCK_DATA_*
,
esta función lanza una ValueError.
share_options
contiene
CURL_LOCK_DATA_COOKIE
, esta función lanza una
ValueError.
share_options
contiene un valor no entero,
esta función lanza una TypeError.
Ejemplo #1 curl_share_init_persistent() example
Este ejemplo creará un gestor cURL "share" persistente y demostrará
el partage de conexiones entre ellos. Si se ejecuta en un SAPI PHP
de larga duración, $sh
sobrevivirá entre las peticiones SAPI.
<?php
// Crear o recuperar un gestor cURL "share" persistente configurado para compartir las búsquedas DNS y las conexiones
$sh = curl_share_init_persistent([CURL_LOCK_DATA_DNS, CURL_LOCK_DATA_CONNECT]);
// Inicializa el primer gestor cURL y le asigna el gestor de partage
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Ejecuta el primer gestor cURL. Esto puede reutilizar la conexión de una petición SAPI anterior
curl_exec($ch1);
// Inicializa el segundo gestor cURL y le asigna el gestor de partage
$ch2 = curl_init("http://example.com/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Ejecuta el segundo gestor cURL. Esto puede reutilizar la conexión de $ch1
curl_exec($ch2);
?>