解决php7.2及以上版本无法开启OpenSSL或者Call to undefined function curl_init()的问题
环境:
Apace 2.4.23
php 7.0.10
php 7.2.30
php 7.3.17
wampserver 3.2
我的问题出现的原因:因为本地tp5二维码生成的问题,需要用到更高版本的php,我用的是wampserver,我去wampserver中文站上下载了php组件(PHP 7.2.30和PHP 7.3.17)来安装。安装之后打开应用发现报Call to undefined function curl_init()的问题
一开始以为是curl没有打开,去看了php.ini发现已经打开了,去网上查,有些人说
在php的目录下,找到libeay32.dll,libssh2.dll,ssleay32.dll这三个文件,复制(或剪切)粘贴到,apache的bin目录下
但是我在7.2和7.3的文件夹下发现并没有libeay32.dll,libssh2.dll这两个文件,但是7.0的却有,而且apache下的bin目录也已经有了libeay32.dll,libssh2.dll,ssleay32.dll这三个文件。
后来才查到
原来php7.0版本安装目录中的 libeay32.dll 及 libssh2.dll
变为了php7.2版本安装目录中的libcrypto-1_1.dll(32位的php时) 及 libssl-1_1.dll(32位php时)
或者【libcrypto-1_1-x64.dll 及 libssl-1_1-x64.dll】(64位php)。
而我的apace可能版本比较老,没有更新,apache下并没有对应的libcrypto-1_1.dll和libssl-1_1.dll这两个文件,所以需要我们手动的将这两个文件复制到apache下的bin目录,然后重启apache,可以了,特此记录一下!