在 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上的搭建