My pecl cannot use to report a connection failure?

as follows:

Connection to `ssl://pecl.php.net:443" failed:

telnet pecl.php.net 443 can be connected.
use it on the Internet:

php -r "print_r(openssl_get_cert_locations());"

the printed result is

Array
(
    [default_cert_file] => /etc/pki/tls/cert.pem
    [default_cert_file_env] => SSL_CERT_FILE
    [default_cert_dir] => /etc/pki/tls/certs
    [default_cert_dir_env] => SSL_CERT_DIR
    [default_private_dir] => /etc/pki/tls/private
    [default_default_cert_area] => /etc/pki/tls
    [ini_cafile] => 
    [ini_capath] => 
)

I have pem files. What"s the problem? How to solve the problem? the environment is CENTOS7.0

.
Sep.01,2021

refer to this article, mainly for reference

ls checked / usr/local/openssl/ssl/
sure enough, there is no cert.pem file
$wget-c https://curl.haxx.se/ca/cacer. / usr/local/openssl/ssl/cert.pem-- no-check-certificate
re-execute

because sometimes it is the pot of certificates

some pits encountered after the execution of 'pecl install swoole' | Joefom's Blog


is fond of messing around and messing around.
many of the explanations I have seen on the Internet are not good enough, most of which are about printing the SSL certificate path with openssl_get_cert_locations. Then check whether the certificate exists. If it doesn't exist, go to the official download one.
but mine is not that simple.
there is an openssl.conf file in my certificate directory. Open it and see that there are many path splices of certificate files. At first glance, it is obvious that there is something wrong:

dir        = /etc/pki/CA        -sharp Where everything is kept
certs        = $dir/certs        -sharp Where the issued certs are kept
crl_dir        = $dir/crl        -sharp Where the issued crl are kept
database    = $dir/index.txt    -sharp database index file.
-sharpunique_subject    = no            -sharp Set to 'no' to allow creation of
                    -sharp several ctificates with same subject.
new_certs_dir    = $dir/newcerts        -sharp default place for new certs.

certificate    = $dir/cacert.pem     -sharp The CA certificate
serial        = $dir/serial         -sharp The current serial number
crlnumber    = $dir/crlnumber    -sharp the current crl number
                    -sharp must be commented out to leave a V1 CRL
crl        = $dir/crl.pem         -sharp The current CRL
private_key    = $dir/private/cakey.pem-sharp The private key
RANDFILE    = $dir/private/.rand    -sharp private random number file

check whether the above file paths are valid, and then change and save them.

then try:
pecl search swoole
succeeded!

Menu