首先简查php的openssl配置是否正确:
1)检查php.ini中extension=php_openssl.dll是否放开。
2)检查php_openssl.dll、libeay32.dll、ssleay32.dll三个动态库是否在Path环境变量中,这三个文件在php的ext目录下有,所以,一般将php的ext目录设置到path即可。
3)检查是否定义了OPENSSL_CONF环境变量,这个环境变量指向openssl.cnf文件,这个文件一般在php的【extras\ssl\】目录下。
说明:
如果php中调用openssl相关的函数失败了,可以用openssl_error_string()函数获取错误信息,如下:
$res = openssl_pkey_new(array("private_key_bits" => 1024));
if (!$res) {
echo openssl_error_string();
die;
}