openssl_pkey_get_public()是一个用于获取公钥的OpenSSL函数,在PHP源码中遇到Call to undefined function openssl_pkey_get_public()的错误提示意味着服务器PHP环境中的OpenSSL扩展没有启用。应该有不少遇到过该问题,大部分是配置服务器的时候没有配置到位,解决方法也很简单,启用OpenSSL扩展后重启服务器即可。
操作步骤:
1、在PHP的安装目录找到并编辑配置文件php.ini,找到代码:
1 | ;extension=openssl |
修改为
1 | extension=openssl |
2、同样在PHP的安装目录,复制libcrypto-*.dll
(如libcrypto-1_1-x64.dll
)和libssl-*.dll
(如libssl-1_1-x64.dll
)两个文件。
3、进入C:\Windows\System32
目录,把刚刚复制的两个.dll文件粘帖到该目录下
注意:如果是32位系统,则粘贴到C:\Windows\SysWOW64\
目录
4、按Win+R
输入sysdm.cpl
,在弹出的窗口中选择高级 → 环境变量,在系统变量中编辑“Path”,添加以下目录:
1 2 3 4 | C:\php #PHP主目录 C:\Apache24\bin #Apache目录(如果使用) C:\Windows\System32 # 64位系统目录 C:\Windows\SysWOW64 # 32位兼容目录 |
把PHP主目录、Apache目录的路径改为实际的安装路径,然后点击“上移”按钮移至最顶部。
PS:如果系统变量已经存在上面的目录,则不用安装。
最后重启服务器即可。