file_get_contents(): SSL opération a échoué avec le code 1. Et plus

Je suis en train d'essayer d'accéder à ce service REST à partir d'une page PHP que j'ai créé sur notre serveur. J'ai réduit le problème à ces deux lignes. Donc ma page PHP qui ressemble à ceci:

<?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 page meurt sur la ligne 2 avec les erreurs suivantes:

  • Warning: file_get_contents(): SSL opération a échoué avec le code 1.
    OpenSSL messages d'Erreur: erreur:14090086:SSL
    routines:SSL3_GET_SERVER_CERTIFICATE:certificat de vérifier échoué dans
    ...php on line 2

    • Warning: file_get_contents(): impossible d'activer les crypto en php sur ...
      ligne 2
    • Avertissement:
      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):
      failed to open stream: échec de l'opération en ...php sur la ligne 2

Nous utilisons un serveur Gentoo. Nous avons récemment mis à niveau vers la version de PHP 5.6. C'est après la mise à niveau lorsque ce problème est apparu.

J'ai trouvé quand j'ai remplacer le service REST avec une adresse comme https://www.google.com; ma page fonctionne très bien.

Dans une précédente tentative, j'ai mis “verify_peer”=>false, et a passé que comme un argument de file_get_contents, comme décrit ici: file_get_contents ignorant verify_peer=>false? Mais comme l'auteur a noté; il ne fait aucune différence.

J'ai demandé à un de nos administrateurs de serveur si ces lignes dans notre php.ini fichier existe:

  • extension=php_openssl.dll
  • allow_url_fopen = On

Il m'a dit que puisque nous sommes sur Gentoo, openssl est compilé, lorsque nous construisons; et il n'est pas défini dans le php.fichier ini.

J'ai aussi confirmé que allow_url_fopen est de travail. En raison de la nature spécialisée de ce problème; je ne suis pas à trouver beaucoup d'informations pour obtenir de l'aide. N'avez-vous venir à travers quelque chose comme ça? Merci.

InformationsquelleAutor Joe | 2014-10-01