Страницы

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

среда, 25 декабря 2019 г.

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

#php #centos #ssl #openssl


На 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"

    


Ответы

Ответ 1



Всем спасибо, кто помогал, проблему решил следующим образом: Скачал сертификат от сюда: 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/ когда что то делал на сервере)

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

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