file_get_contents(): Failed to enable crypto

Al intentar usar file_get_content() con una web que utiliza https, obtenemos los siguientes errores:

PHP Warning:  file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in somefile.php on line 15
PHP Warning:  file_get_contents(): Failed to enable crypto in somefile.php on line 15
PHP Warning:  file_get_contents(https://dominio.com): failed to open stream: operation failed in somefile.php on line 15

La solución que me ha funcionado es la de https://stackoverflow.com/questions/26148701/file-get-contents-ssl-operation-failed-with-code-1-and-more


<?php
$arrContextOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
);  

$response = file_get_contents("https://dominio.com", false, stream_context_create($arrContextOptions));

?>

Probablemente desactivar esas dos opciones no sea una buena idea de cara a la seguridad ("his breaks SSL certification and is a security hole"), pero es la opción que me ha funcionado.

Deja un comentario

El código HTML se muestra como texto y las direcciones web se transforman automáticamente.

Arriba