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

时间:2017-01-17 22:01:03

标签: php windows apache laravel php-openssl

使用php7.1

禁用openssl apache2.4

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

  

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

  1. 我在php.ini中改变了这个
  2.   

    延长= php_openssl.dll

    1. 我使用WINDOWS CMD
    2. 使用此代码
        

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

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

        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()

        由于

3 个答案:

答案 0 :(得分:12)

感谢所有需要将(DLL的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"

答案 1 :(得分:0)

更新的答案 2021:

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

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

答案 2 :(得分:0)

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

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

如果其他人正在努力安装 Composer,此修复程序可能对您有用:)