发新话题
打印

win环境php7.2无法加载curl,openssl的问题解决方法

win环境php7.2无法加载curl,openssl的问题解决方法

1、正确安装VC库。

2、php7.1版本安装目录中的 libeay32.dll 及 libssh2.dll 变为了php7.2版本安装目录中的libcrypto-1_1-x64.dll 及 libssl-1_1-x64.dll。

3、查看apache安装目录下的bin文件夹,看是否有libcrypto-1_1-x64.dll 和 libssl-1_1-x64.dll 两个文件,如果没有需要把php7.2版本安装目录中的libcrypto-1_1-x64.dll 及 libssl-1_1-x64.dll复制到apache的bin目录下。

3.3 无法加载curl的解决办法
通常,这是Apache和PHP之间的OpenSSL版本不匹配错误。如果Apache将PHP作为DSO模块加载,则将使用其自己的OpenSSL版本(dll和libs)。因此,如果PHP扩展需要较新的版本,则它可能无法在Apache加载的DLLS中找到适当的接口,并且将无法正常工作。

由于需要加载PHP扩展,因此需要相关的DLL文件至少是PHP模块要求的版本。假设您正在为Apache和PHP使用最新的版本,并且都使用相同的MVC版本构建,则可以

复制以下文件:
libcrypto-1_1.dll
libcrypto-1_1-x64.dll
libcurl.dll
libsasl.dll
libssh2.dll
libssl-1_1.dll
libssl-1_1-x64.dll
nghttp2.dll
libeay32.dll(如果您的PHP发行版中存在)
ssleay32.dll(如果您的PHP发行版中存在)

从PHP根文件夹到Apache2 / bin文件夹,重启Apache即可
以防万一您确信PHP构建比Apache构建新。

在相反的情况下,您可以将相同的文件从Apache BIN复制到PHP根目录。

无论如何,请事先备份APache和PHP文件夹的内容。

TOP

发新话题