php curl nss ошибка инициализации

Я использую php curl для посещения веб-сайта https, такого как https://api.mch.weixin.qq.com/ в среде php-fpm, код:

    <?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_URL, 'https://api.mch.weixin.qq.com');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    $verbose = fopen('php://temp', 'w+');
    curl_setopt($ch, CURLOPT_STDERR, $verbose);
    curl_setopt($ch, CURLOPT_POST, TRUE );
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'test');
    $data = curl_exec($ch );
    if ($data === FALSE) {
        $error = curl_errno($ch) . ' ' . curl_error($ch);
        echo $error;
        rewind($verbose);
        $verboseLog = stream_get_contents($verbose);
        echo "Verbose information:\n<pre>", htmlspecialchars($verboseLog), "</pre>\n";
    } else {
        echo 'ok';
    }

подробная информация:

    * About to connect() to api.mch.weixin.qq.com port 443 (#0)
    *   Trying 101.226.129.200... * connected
    * Connected to api.mch.weixin.qq.com (101.226.129.200) port 443 (#0)
    * Initializing NSS with certpath: sql:/etc/pki/nssdb
    * Unable to initialize NSS database
    * Initializing NSS with certpath: none
    * Unable to initialize NSS
    * NSS error -5925
    * Closing connection #0
    * Problem with the SSL CA cert (path? access rights?)

выше ошибка не всегда происходит, и после перезапуска php-fpm все в порядке.

что это за ошибка? как это решить?

примечание: я недавно не обновлял свои Centos OS.

я обнаружил, что если я переместу один из этих двух файлов, возникла проблема:

/usr/lib64/libsoftokn3.so
/usr/lib64/libsqlite3.so.0 

но эти два файла всегда есть.

моя версия curl:

    # curl --version
    curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
    Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
    Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

моя ОС это:

    Linux web-www 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

0 ответов

Другие вопросы по тегам