php-fpm est tombé en panne lorsque curl ou file_get_contents ont demandé une URL https

Mon serveur est nginx + php-fpm

le code ci-dessous provoquera le bogue

file_get_contents('https://github.com'); 

ou

 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://github.com"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); $output = curl_exec($ch); //crash here curl_close($ch); 

la page Web affiche une erreur 502

nginx log est

[erreur] 2656 # 0: * 541 recv () a échoué (104: connexion réinitialisée par l’homologue) lors de la lecture de l’en-tête de réponse en amont

fpm log est

Jul 03 00: 37: 37.619903 [AVIS] fpm_got_signal (), ligne 48: reçu SIGCHLD

Jul 03 00: 37: 37.619926 [WARNING] fpm_children_bury (), ligne 215: enfant 3567 (valeur par défaut du pool) sortie sur le signal 11 SIGSEGV (core dumped) après 417.576755 secondes depuis le début

Jul 03 00: 37: 37.620807 [AVIS] fpm_children_make (), ligne 352: enfant 4193 (valeur par défaut du pool) démarré

Si l’URL de la requête commence par http: //, tout va bien.

La commande de configuration php est

 './configure' '--prefix=/www/nginx_php-5.2.17' '--with-config-file-path=/www/nginx_php-5.2.17/etc' '--with-mysql=/www/mysql' '--with-iconv=/usr' '--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-discard-path' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbssortingng' '--with-mcrypt=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-openssl' '--with-mhash' '--enable-ftp' '--enable-sockets' '--enable-zip' '--enable-fastcgi' '--enable-fpm' '--with-fpm-conf=/www/etc/php-fpm.conf' 

Essayez d’append ces deux:

 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 

Ils empêcheront la vérification du certificate SSL. Cela peut être le problème car la vérification peut échouer. À moins que la vérification de la source ne soit obligatoire, ajoutez toujours ces 2 lignes lors du téléchargement des données avec cURL .

PS : Je ne suis pas sûr que cela vous aidera.