A-A+

Fatal error: Call to undefined function openssl_pkey_get_private()

2018年01月07日 PHP技术文章 评论 2 条 阅读 0 views 次

同样是支付宝接口的问题,我们知道在PHP程序中使用支付宝或者是微信支付接口时,通常都会有其私钥或者公钥文件,如果不能够正常加载的话就会出现错误,而支付宝接口则是使用的openssl打开私钥的模式,这就需要在PHP.INI里面去配置一下OPENSSL了,否则的话就会出现如下错误:

Fatal error: Call to undefined function openssl_pkey_get_private()

很显示,没有发现 openssl_pkey_get_private 这个函数,其实就是环境不支持 openssl 所致,在windows系统中,支持 openssl 很简单,先找到 php.ini文件,查找 extension=php_openssl.dll,把前面的注释去掉,让其支持 openssl,然后复制 php 安装目录中的 libeay32.dll 和 ssleay32.dll 两个文件至 c:\windows\system32,接着复制 php_openssl.dll至c:\windows\system32,然后重启服务器环境,一切OK。

---AppServ Win32如何打开openssl---

1.打开c:/windows,里面有一个php.ini文件(AppServ居然将php的配置文件移到这里来!),然后在里面搜索 ;extension=php_openssl.dll ,把前面的逗号去掉。

2.进入AppServ的安装目录,到php文件夹里面,分别搜索 libeay32.dll 和 ssleay32.dll ,把它们复制到 c:/windows/system32 下面

3.重新启动 Apache,就可以了,至于phpMailer的使用方法,请参考phpMailer的例子。

标签:

2 条留言  访客:2 条  博主:0 条

  1. 懿古今

    这个还真没遇到过,也没折腾过,学习了

  2. 学习笔记Blog

    不是很喜欢支付宝的接口!

给我留言