Ho cercato di accedere a questo particolare servizio REST da una pagina PHP che ho creato sul nostro server. Ho ristretto il problema a queste due righe. Quindi la mia pagina PHP è simile a questa:
<?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 pagina muore alla riga 2 con i seguenti errori:
- Avvertenza: file_get_contents (): operazione SSL non riuscita con codice 1. Messaggi di errore OpenSSL: errore: 14090086: routine SSL: SSL3_GET_SERVER_CERTIFICATE: verifica del certificato non riuscita in ... php sulla linea 2
- Attenzione: file_get_contents (): Impossibile abilitare crypto in ... php sulla linea 2
- Avviso: 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
) : impossibile aprire il flusso: operazione non riuscita in ... php sulla linea 2
Stiamo usando un server Gentoo. Di recente abbiamo aggiornato alla versione 5.6 di PHP. È stato dopo l'aggiornamento quando è apparso questo problema.
Ho trovato quando sostituisco il servizio REST con un indirizzo simile https://www.google.com
; la mia pagina funziona bene.
In un tentativo precedente ho impostato “verify_peer”=>false
e passato questo come argomento a file_get_contents, come descritto qui: file_get_contents ignorando verifica_peer => false? Ma come ha notato lo scrittore; non ha fatto differenza.
Ho chiesto a uno dei nostri amministratori di server se esistono queste righe nel nostro file php.ini:
- extension = php_openssl.dll
- allow_url_fopen = Attivo
Mi ha detto che da quando siamo su Gentoo, openssl viene compilato quando costruiamo; e non è impostato nel file php.ini.
Ho anche confermato che allow_url_fopen
funziona. A causa della natura specializzata di questo problema; Non trovo molte informazioni di aiuto. Qualcuno di voi ha incontrato qualcosa del genere? Grazie.