btsalex
Новичок
PHP-fpm и HTTPS - крайне странное поведение
Здравствуйте
Пытаюсь решить уже несколько дней проблему - не работает file_get_contents("https://.....");
При этом с http работает прекрасно, а CURL работает без проблем и с http и с https
При попытке получить любую httpS страницу с помощью file_get_contents() получаю ошибки:
Warning: file_get_contents() [function.file-get-contents]: SSL: Unknown error: 0 in /www/1.php on line 8
Warning: file_get_contents() [function.file-get-contents]: Failed to enable crypto in /www/1.php on line 8
Warning: file_get_contents(https://money.yandex.ru) [function.file-get-contents]: failed to open stream: operation failed in /www/1.php on line 8
На сервере php-fpm 5.2.8 (OpenSSL/0.9.8j и mcrypt 2.5.8), nginx 0.6.32, ОС FreeBSD 7.0-RELEASE-p5
Самое интересное, как оно работает..
в 1.php - запрашиваю сайт с помощью file_get_content()
в 1curl.php - запрашиваю сайт с помощью CURL
после рестарта php:
1.php - вообще не работает (ошибки описаны выше - SSL: Unknown error: 0 и Failed to enable crypto)
далее, запускаю 1curl.php - все ок, CURL отрабатывает
после этого 1.php - работает Четко через 2 раза (прямо четко 2 попытки неудачные, 3яя - удачная. не зависит от времени между запросами!)
если после этого запустить 1curl.php еще раз, то 1.php - работает теперь Четко через 1 раз (прямо четко уже 2 попытки удачные, а 3яя - неудачная. не зависит от времени между запросами!) т.е. добавляется еще одна удачная попытка из 3ех
последующие запуски 1curl.php ситуацию не меняют
эксперимент показал, что такое поведение только в случае, если я запрашиваю CURL'ом любую https страницу, если запрашивать http, то 1.php как не работал, так и продложает не работать
такой вот бред
Поиск по-сути ничего не дал, разве что нашел близкую проблему в http://bugs.php.net/bug.php?id=44353 , но решения там нет
Тестил этот же код на нескольких других серверах, причем на одном установлено все практически 1 в 1 (тот же php-fpm, только версия FreeBSD чуть новее - 7.1-RELEASE-p2) - везде работает без проблем.
Может кто что подскажет?
Здравствуйте
Пытаюсь решить уже несколько дней проблему - не работает file_get_contents("https://.....");
При этом с http работает прекрасно, а CURL работает без проблем и с http и с https
При попытке получить любую httpS страницу с помощью file_get_contents() получаю ошибки:
Warning: file_get_contents() [function.file-get-contents]: SSL: Unknown error: 0 in /www/1.php on line 8
Warning: file_get_contents() [function.file-get-contents]: Failed to enable crypto in /www/1.php on line 8
Warning: file_get_contents(https://money.yandex.ru) [function.file-get-contents]: failed to open stream: operation failed in /www/1.php on line 8
На сервере php-fpm 5.2.8 (OpenSSL/0.9.8j и mcrypt 2.5.8), nginx 0.6.32, ОС FreeBSD 7.0-RELEASE-p5
Самое интересное, как оно работает..
в 1.php - запрашиваю сайт с помощью file_get_content()
в 1curl.php - запрашиваю сайт с помощью CURL
после рестарта php:
1.php - вообще не работает (ошибки описаны выше - SSL: Unknown error: 0 и Failed to enable crypto)
далее, запускаю 1curl.php - все ок, CURL отрабатывает
после этого 1.php - работает Четко через 2 раза (прямо четко 2 попытки неудачные, 3яя - удачная. не зависит от времени между запросами!)
если после этого запустить 1curl.php еще раз, то 1.php - работает теперь Четко через 1 раз (прямо четко уже 2 попытки удачные, а 3яя - неудачная. не зависит от времени между запросами!) т.е. добавляется еще одна удачная попытка из 3ех
последующие запуски 1curl.php ситуацию не меняют
эксперимент показал, что такое поведение только в случае, если я запрашиваю CURL'ом любую https страницу, если запрашивать http, то 1.php как не работал, так и продложает не работать
такой вот бред
Поиск по-сути ничего не дал, разве что нашел близкую проблему в http://bugs.php.net/bug.php?id=44353 , но решения там нет
Тестил этот же код на нескольких других серверах, причем на одном установлено все практически 1 в 1 (тот же php-fpm, только версия FreeBSD чуть новее - 7.1-RELEASE-p2) - везде работает без проблем.
Может кто что подскажет?