PHP在安装扩展是提示
Could not download from "https://pecl.php.net/get/xhprof-0.9.4.tgz" (Connection to `pecl.php.net:443' failed: )
Invalid or missing remote package file
install failed
这个问题和curl无法访问https资源是类似的,现在curl可以访问https资源,但是使用pecl安装扩展的时候不行,更新下最新的这个证书就可以了
这个问题就是证书不是最新的,把系统的证书换成最新的就可以了
解决步骤
/var/www/html # php -r "print_r(openssl_get_cert_locations());"
Array
(
[default_cert_file] => /etc/ssl/cert.pem
[default_cert_file_env] => SSL_CERT_FILE
[default_cert_dir] => /etc/ssl/certs
[default_cert_dir_env] => SSL_CERT_DIR
[default_private_dir] => /etc/ssl/private
[default_default_cert_area] => /etc/ssl
[ini_cafile] =>
[ini_capath] =>
)
由上面得知默认证书地址为:/etc/ssl/certs
/var/www/html # wget http://curl.haxx.se/ca/cacert.pem
Connecting to curl.haxx.se (151.101.230.49:80)
Connecting to curl.haxx.se (151.101.230.49:443)
wget: can't execute 'ssl_helper': No such file or directory
wget: error getting response: Connection reset by pee
下载不了转为浏览器下载
将下载好的文件复制到容器
docker cp ~/Downloads/cacert.pem 0e9b591460dc:/var/www/html/
替换
/var/www/html # mv cacert.pem /etc/ssl/certs/
正常
Matched packages, channel pecl.php.net:
=======================================
Package Stable/(Latest) Local
xhprof 2.3.3 (stable) XHProf: A Hierarchical Profiler for PHP