He estado intentando acceder a este servicio REST en particular desde una página PHP que he creado en nuestro servidor. Reduje el problema a estas dos líneas. Entonces mi página PHP se ve así:
<?php
$response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json");
echo $response; ?>
La página muere en la línea 2 con los siguientes errores:
- Advertencia: file_get_contents (): la operación SSL falló con el código 1. OpenSSL Mensajes de error: error: 14090086: rutinas SSL: SSL3_GET_SERVER_CERTIFICATE: la verificación del certificado falló en ... php en la línea 2
- Advertencia: file_get_contents (): no se pudo habilitar el cifrado en ... php en la línea 2
- Advertencia: file_get_contents (
https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json
): no se pudo abrir la secuencia: la operación falló en ... php en la línea 2
Estamos usando un servidor Gentoo. Recientemente actualizamos a PHP versión 5.6. Fue después de la actualización cuando apareció este problema.
Encontré cuando reemplazo el servicio REST con una dirección como https://www.google.com
; mi página funciona bien
En un intento anterior, configuré “verify_peer”=>false
y pasé eso como un argumento a file_get_contents, como se describe aquí: file_get_contents ignorando execute_peer => false? Pero como señaló el escritor; No hizo ninguna diferencia.
Le pregunté a uno de nuestros administradores de servidores si existen estas líneas en nuestro archivo php.ini:
- extension = php_openssl.dll
- allow_url_fopen = Activado
Me dijo que, dado que estamos en Gentoo, openssl se compila cuando construimos; y no está configurado en el archivo php.ini.
También confirmó que allow_url_fopen
está funcionando. Debido a la naturaleza especializada de este problema; No encuentro mucha información para obtener ayuda. ¿Alguno de ustedes se ha encontrado con algo como esto? Gracias.