Страницы

Поиск по вопросам

четверг, 29 ноября 2018 г.

Функция fsockopen перестала работать с ssl

На vps (CentOS 7) перестала работать функция fsockopen с протоколом ssl:
fsockopen('ssl://smtp.yandex.ru', 465, $errnum, $errstr, 5);
Результат возвращает false, $errnum = 0, $errstr = ''. С другими протоколами проблем нет. Месяц назад работало, за месяц много что настраивал на vps, теперь не могу определить проблему. В лог ошибок попадает следующее:
FastCGI sent in stderr: "PHP message: PHP Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /site/fsockopen.php on line 3 PHP message: PHP Warning: fsockopen(): Failed to enable crypto in /site/fsockopen.php on line 3 PHP message: PHP Warning: fsockopen(): unable to connect to ssl://smtp.yandex.ru:465 (Unknown error) in /site/fsockopen.php on line 3"


Ответ

Всем спасибо, кто помогал, проблему решил следующим образом:
Скачал сертификат от сюда: http://curl.haxx.se/ca/cacert.pem и положил его в каталог /etc/ssl/certs/ В php.ini прописал: openssl.cafile=/etc/ssl/certs/cacert.pem Выставил стандартные права на каталог /etc/pki/, так как в данной системе /pki/tls/certs/ смонтировано на /etc/ssl/certs/ (не хватало прав чтобы прочитать сертификат, это видимо одна из основных проблем которую я не замечал, по ошибке неправильные права выставил на /etc/pki/ когда что то делал на сервере)

Комментариев нет:

Отправить комментарий