2013-07-03 2 views
3

Мой сервер Nginx + PHP-FPMPHP-FPM разбился при завиток или file_get_contents запроса HTTPS URL

ниже код вызовет ошибку

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

или

$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); 

на веб-странице показывает ошибку 502

nginx log is

[ошибка] 2656 # 0: * 541 RECV() не удалось (104: Соединение сброса одноранговой) во время чтения заголовка ответа от вышестоящего

футов в минуту бревна

3 июля 00: 37: 37,619903 [ВНИМАНИЕ] fpm_got_signal(), строка 48: получено SIGCHLD

Июль 03 00: 37: 37,619926 [ВНИМАНИЕ] fpm_children_bury(), строка 215: ребенок 3567 (пул по умолчанию) вышли на сигнал 11 SIGSEGV (ядро сбрасывали) после 417.576755 секунд с начала

3 июля 00: 37: 37,620807 [ВНИМАНИЕ] fpm_children_make(), строка 352: ребенок 4193 (пул по умолчанию) начал

Если URL запроса начинается с HTTP: //, все в порядке.

команда PHP Configure является

'./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-mbstring' '--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' 
+0

после проверки на сбои 'curl_error()' вы увидите больше информации – DevZer0

+0

У меня такая же проблема. Вы нашли решение? –

+0

У меня такая же проблема. Если вам действительно удалось найти решение, пожалуйста, просветите нас. – arik

ответ

0

Попробуйте добавить эти два:

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

Они будут препятствовать проверке сертификата SSL. Возможно, это может быть проблемой, поскольку проверка может завершиться неудачей. Если это не обязательно для проверки источника, всегда добавляйте эти 2 строки при загрузке данных с помощью cURL.

PS: Не уверен, что это вам поможет.

Смежные вопросы