curl_share_setopt
(PHP 5 >= 5.5.0)
curl_share_setopt — Configura una opción para un gestor cURL compartido
Descripción
bool curl_share_setopt
( resource
$sh
, int $option
, string $value
)Configura una opción en el gestor cURL compartido dado.
Parámetros
-
sh -
Un gestor cURL compartido devuelto por curl_share_init().
-
option -
Opción Descripción CURLSHOPT_SHAREEspecifica un tipo de datos que debe ser compartido. CURLSHOPT_UNSHAREEspecifica un tipo de datos que no debe ser compartido. -
value -
Valor Descripción CURL_LOCK_DATA_COOKIEComparte cookies. CURL_LOCK_DATA_DNSComparte la caché DNS. Tener en cuenta que cuando se usan multi gestores cURL , todos los gestores añadidos al mismo multi gestor compartirán la caché DNS por defecto. CURL_LOCK_DATA_SSL_SESSIONComparte IDs de sesiones SSL session, reduciendo el tiempo gastado en la negociación SSL cuando se reconecta al mismo servidor. Notar que los IDs de sesión SSL se reutilizan por defecto dentro del mismo gestor.
Valores devueltos
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Ejemplos
Ejemplo #1 Ejemplo de curl_share_setopt()
Este ejemplo creará un gestor cURL compartido, añade dos gestores cURL en él, y los ejecuta con compartición de datos con cookie.
<?php
// Crea un gestor cURL compartido y lo configura para compartir cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
// Inicializa el primer gestor cURL y lo asigna el gestor compartido
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Ejecuta el primer gestor cURL
curl_exec($ch1);
// Inicializa el segundo gestor cURL y lo asigna al gestor compartido
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Ejecuta el segundo gestor cURL
// todas las cookies del gestor $ch1 se comparten con el gestor $ch2
curl_exec($ch2);
// Cierra el gestor compartido cURL
curl_share_close($sh);
// Cierra los gestores cURL
curl_close($ch1);
curl_close($ch2);
?>