在 Windows 上的 Apache/PHP 中禁用 OpenSSL 支持

Posted

技术标签:

【中文标题】在 Windows 上的 Apache/PHP 中禁用 OpenSSL 支持【英文标题】:OpenSSL support disabled in Apache/PHP on Windows 【发布时间】:2017-06-02 03:28:21 【问题描述】:

openssl 禁用 apache2.4 和 php7.1

在 phpinfo();结果给了我这个

OpenSSL 支持已禁用(安装 ext/openssl)

    我在 php.ini 中更改了这个

extension=php_openssl.dll

    我使用 WINDOWS CMD 使用此代码

设置 OPENSSL_CONF=/path/to/openssl.cnf

    在 CMD 中使用时启用,但在 phpinfo() 中禁用;

php --ri openssl OpenSSL 支持 => 启用 OpenSSL 库版本 => OpenSSL 1.0.2j 2016 年 9 月 26 日 Openssl 默认配置 => C:/jampp/php71/extras/ssl/openssl.cnf

它现在在 CMD 中工作,但是 phpinfo();不是,在 laravel 5 中显示这个错误

调用未定义函数 openssl_encrypt()

谢谢

【问题讨论】:

你在用 wamp 吗? 不,我手动安装了 apache 2.4 和 php 7.1 如果您引用了一些参考资料以获取您遵循的说明,这将有所帮助。另见openssl apache php windows enable site:***.com。字面上有几页结果。 @jww 我打开了所有链接,我也用谷歌搜索了它,但我没有找到解决方案 @MaherBek - 也许您应该遵循一些说明,而不是打开链接并查看页面。有些答案相当广泛。 【参考方案1】:

谢谢你所有它只需要包括(php的DLL文件)到httpd.conf中

LoadFile "C:/jampp/php/libeay32.dll"
LoadFile "C:/jampp/php/ssleay32.dll"
LoadFile "C:/jampp/php/php7ts.dll"
LoadFile "C:/jampp/php/libpq.dll"

【讨论】:

谢谢,这有帮助。你节省了我几个小时的谷歌搜索! 几个小时令人沮丧的研究,这是最终解决它的一个。 ¡Muchas Gracias! 对我帮助很大。【参考方案2】:

2021 年更新答案:

OpenSSL 现在是 1.1 版。此页面上另一个答案中的 LoadFiles 文件已替换为“libcrypto-1_1.dll”和“libssl-1_1.dll”。

不过,老实说,整个答案可能已经过时了。就我而言,解决方案要简单得多。我在互联网上找到的所有内容都表明您所要做的就是取消注释 php.ini 文件中的“extension=openssl”行。但是,通常会遗漏一小部分信息。您还需要取消注释 Windows 上的 'extension_dir = "ext"' 或 Linux 上的 'extension_dir = "./" 行。如果您不这样做,则无法加载任何扩展。

【讨论】:

【参考方案3】:

对于任何努力在 Windows 上启用 OpenSSL 的人来说,另一种可能的解决方案。运行php --ini 以检查您的ini 文件是否正在运行。在我的情况下,配置文件设置为无。

我的 php 安装附带了开发和生产 ini 文件,但我需要创建一个名为 php.ini 的新 ini 文件并在其中包含我的设置。

如果其他人正在努力安装作曲家,这个修复可能对你有用:)

【讨论】:

以上是关于在 Windows 上的 Apache/PHP 中禁用 OpenSSL 支持的主要内容,如果未能解决你的问题,请参考以下文章

Apache+PHP+THINKPHP框架在windows上的搭建

关于Apache php 报500错误

Apache+PHP 在 unix 上的写权限

Apache+php在windows下的安装和配置

在一台 Apache 服务器上的单独虚拟主机中运行 Apache mod_php 和 mod_fastcgi

windows上apache配置php5