На 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/ когда что то делал на сервере)
Комментариев нет:
Отправить комментарий