PHP CURL guarda la cookie en cookiejar pero no la usa

Tengo un script PHP que usa CURL para iniciar sesión en un sitio con una página de inicio de sesión simple. Envía una solicitud inicial al sitio y ve si ya ha iniciado sesión (debido a las cookies) o si aparece la página de inicio de sesión, y si lo hace, inicia sesión.

Sin embargo, recientemente me di cuenta de que cada vez que se ejecuta el script nunca se inicia sesión. Profundizar en los encabezados usando VERBOSE muestra que la cookie en COOKIEFILE / COOKIEJAR nunca se usa, solo las cookies que recibe el sitio para esa sesión en particular . Si agrego manualmente cookies al cookiejar en el medio de la ejecución (algo que solía funcionar), ya no funciona, ya que las cookies en el COOKIEFILE no se usan realmente.

Esto sucede tanto localmente como en el servidor de producción, lo que significa que no parece ser un problema del sistema. Creé versiones de prueba para otras páginas de inicio de sesión con los mismos resultados. Utilizo una ruta completa al archivo de cookies (que se actualiza con cookies, simplemente no se usa) y uso curl_close ().

La siguiente es la función CURL:

private function curlPage($url, $postParameters) {
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postParameters);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__.'/cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__.'/cookie.txt');
    curl_setopt($ch, CURLOPT_ENCODING, '');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_POSTREDIR, 3);
    if ($this->verbose == 1) curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
    curl_setopt($ch, CURLOPT_TIMEOUT, $this->defaultTimeout); 
    curl_setopt($ch, CURLOPT_USERAGENT, $this->useragent);
    $pageResponse = curl_exec($ch);
    curl_close($ch); 
    return $pageResponse;
}

La siguiente es la respuesta detallada de la solicitud CURL a la página principal, donde se supone que debe verificar si está o no conectado. Como el sitio es de un cliente, lo redacté.

* Rebuilt URL to: *********
* Hostname was NOT found in DNS cache
*   Trying : *********...
* Connected to : ********* (*********) port 80 (#0)
> GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6 Safari/600.6.3
Host: *********
Accept: */*

< HTTP/1.1 200 OK
< Date: Wed, 20 Jul 2016 20:42:22 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Keep-Alive: timeout=15
< Vary: Accept-Encoding
< Expires: Mon, 26 Jul 1980 00:00:00 GMT
< Pragma: no-cache
< Cache-Control: no-cache, no-store, must-revalidate
* Server ********* is not blacklisted
< Server: *********
< 

Como se puede ver, no hay cookies a la vista, a pesar de tener un COOKIEFILE disponible.

Cualquier ayuda sería muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta