openssl_x509_parse调用之后内存泄漏
时间:2021-07-01 10:21:17
帮助过:66人阅读
目前需要调这个方法获取证书里面的证书序列号,但是发现每次获取完之后内存一直在涨。
代码:
$x509data = file_get_contents ( "d:/certs/xxx.cer" );
$resource = openssl_x509_read ( $x509data );
$certdata = openssl_x509_parse ( $resource ); //<=就是这句有问题
echo $certdata ['serialNumber']; //<=就是需要这个数据所以要调上面那句
echo $x509data;
unset($certdata); //<=似乎没有什么用
openssl_x509_free($resource); //<=似乎没有什么用x2
循环个100000次可以看到明显一直在涨。
windows下试过php5.4+openssl0.9.8,php7.0+openssl1.0.2都有这问题。*nix还没试过。
不知道我是不是遗漏了什么可以释放的方法?
回复讨论(解决方案)
https://bugs.php.com/bug.php?id=65602 恩估计是证书的问题。