117

我正在尝试在 WAMP 设置中安装 Laravel。我收到一条警告消息,提示我没有启用我已经在 WAMP 中完成的openssl 。

这是消息的屏幕截图。

在此处输入图像描述

4

18 回答 18

127

WAMP 和 Composer 可能使用不同的 PHP 安装。Composer 将使用PATH环境变量中设置的 PHP。

如果要启用openssl扩展来安装Composer,首先需要检查 PHP 安装的位置。

  1. 打开命令提示符,输入:echo %PATH%然后检查 PHP 安装的位置。
  2. 转到该位置并编辑名为: 的文件php.ini
  3. extension=php_openssl.dll通过删除开头的分号取消注释该行。

现在您可以安装 Composer。

于 2013-08-05T18:50:11.693 回答
62

我以不同的方式解决了我的问题。问题是 wamp 的 GUI 具有误导性:它声称我已经php_openssl启用.. 如果我点击php.ini同一个 GUI.. 它实际上表明extension=php_openssl.dll没有注释..

我不确定我是否使用相同的安装程序版本的 OP 作曲家,但它实际上在一开始就要求您指定php.exe您想在其上应用作曲家(这基本上确保没有人试图将作曲家应用到错误的 php 可执行文件与 OP 发生的情况一样)..

我解决这个问题的方法是自己进入 wamp 包中的 php 安装:C:\wamp\bin\php\php5.4.12然后看php.in那里..当我打开它时,我很震惊该行extension=php_openssl.dll实际上被评论了!我取消了它的注释,它工作得很好。

在此处输入图像描述

于 2014-03-11T10:51:15.347 回答
58

我遇到了同样的问题,在这里我找到了解决方案,在您的php.ini上您需要进行一些更改:

  1. extension_dir = "ext"
  2. extension = php_openssl.dll

这里的每个人都在谈论激活 openssl 扩展,但在 Windows 中,您也需要激活扩展目录。

于 2015-10-04T12:45:14.850 回答
27

对于 WAMP 服务器,“Enrique”给出的评论解决了我的问题。

wamp 正在使用这个php.ini

c:\wamp\bin\apache\Apache2.4.4\bin\php.ini

但是作曲家正在使用 CLI 中的 PHP,因此它正在读取这个文件:

c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)

对于作曲家,您必须在

c:\wamp\bin\php\php5.4.12\php.ini

改变:

;extension=php_openssl.dll 

extension=php_openssl.dll
于 2014-07-29T13:07:59.460 回答
22

如果您在没有WAMP 堆栈之一的情况下在 Windows 上执行此操作,请按以下步骤操作

  1. 下载适用于 Windows 的 PHP 安装。通常你会想要一个非线程安全的安装。您可以使用 32 位或 64 位版本
  2. 在某处提取 zip 文件。我会建议C:\php。Composer 的安装程序在没有任何额外提示的情况下找到了它
  3. 默认情况下,最新版本的 PHP for Windows不附带php.ini. 相反,您将看到两个文件,如下所述。将一个重命名为php.ini或复制到php.ini.
    • php.ini-开发
    • php.ini-生产
  4. 打开您的php.ini文件并从此行中删除分号(您可能还想取消注释其他内容,但此行是 Composer 唯一需要的行)

    ;extension=php_openssl.dll
    

这应该是你需要做的所有事情。Composer 安装程序应该从这里完成您需要的所有其他工作。

于 2017-02-14T21:29:19.737 回答
11

您需要在两个文件(php 和 apache)中启用“extension=php_openssl.dll”。我的电脑文件路径是这些:

  1. C:\wamp\bin\php\php5.3.13\php.ini
  2. C:\wamp\bin\apache\apache2.2.22\bin\php.ini
于 2014-12-22T06:15:12.700 回答
10

这是一个老问题,但我也遇到了同样的问题(使用 PHP7),最终解决方案非常简单。不过,根据其他答案取消注释该行php.ini还不够。我需要将其更改为:

;extension=php_openssl.dll

至:

extension=ext/php_openssl.dll

注意ext前缀。dll 已经存在但在子文件夹中。更改配置后,作曲家安装程序很高兴。

于 2017-06-02T11:56:47.470 回答
7

您需要启用 openssl 扩展

C:\wamp\bin\php\php5.4.12\php.ini 

那是它类型的 php 配置文件具有“配置设置”,带有类似驱动程序记事本的图标。

  1. 用记事本或任何编辑器打开它,
  2. 搜索 openssl "your ctrl + F " 就可以了。
  3. openssl 扩展前有一个分号

    ;extension=php_openssl.dll
    

    删除分号,您将拥有

    extension=php_openssl.dll
    
  4. 保存文件并重新启动您的 WAMP 服务器,然后您就可以开始了。再次重新安装应该可以工作的应用程序。
于 2014-09-04T12:47:57.653 回答
6

有两个php.ini文件,一个用于开发,一个用于生产。留下这些,在它们上方还有另一个php.ini用于配置设置的文件,上面有一个像图标编辑这样的齿轮。

于 2014-04-14T14:50:22.683 回答
4

编辑“正确”文件(所有 php.ini 文件)后。我还有这个问题。我的解决方案是:

  1. 添加系统变量:OPENSSL_CONF

    OPENSSL_CONF 的值应该是你当前 php 版本的 openssl.cnf 文件。

对我来说是:

  • C:\wamp\bin\php\php5.6.12\extras\ssl\openssl.cnf

-> 重新启动 WAMP -> 现在应该可以工作了

来源: http: //php.net/manual/en/openssl.installation.php

于 2016-05-02T09:28:28.273 回答
2

我遇到了同样的问题,但是当我在寻找 php.ini 和 php.exe 时,我在 C:\UwAmp\bin\php\php-5.4.15 找到了 php.exe,而 php.ini 在 C:\UwAmp\bin \阿帕奇。我只是在 C:\UwAmp\bin\php\php-5.4.15 复制 php.ini 并取消注释行 extension=php_openssl.dll 并修复它。

于 2014-06-05T06:11:31.333 回答
2

我正在使用 WAMP 服务器。实际上它的文件显示 openssl 已打开。但是我手动去了文件夹并编辑了php.ini. 然后我发现它没有打开openssl。我取消了它的注释并且在WAMP重启后它工作了。

于 2014-06-13T06:02:03.397 回答
2

C:\wamp\bin\php\php5.3.13

浏览到显示如下的行:

;extension=php_openssl.dll

并删除该行前面的分号。重新启动您的 WAMP 服务器服务(单击图标托盘>“重新启动所有服务”

于 2014-07-02T09:53:05.017 回答
1

如果您仍然无法解决您的问题,请查看此内容。这可能是您正在寻找的解决方案

C:\wamp\bin\php\php xyz 文件夹中有几个 php.ini 文件。您可能会找到生产、开发和其他一些 php.ini 文件。无需编辑生产和开发文件。找到与下图完全相同的文件。(你可以找到它。只需在搜索栏中输入 php.ini 并进行搜索)。打开文件并删除;从扩展=php_openssl.dll。保存文件并关闭它。重新启动 Wampp 服务器中的所有服务。重新安装你的作曲家。

这就对了。

在此处输入图像描述

于 2014-08-21T07:19:20.233 回答
1

Wamp 与 C:\wamp\bin\apache\Apache2.4.4\bin\php.ini 中的另一个 php.ini 一起工作。所以你需要手动找到正确的文件,即在 C:\wamp\bin\php\php5.4.12\php.ini 中。取消注释 extension=php_openssl.dll 行,然后尝试再次安装 Composer。

于 2014-10-13T13:12:00.167 回答
1

如果您从源代码编译,则添加extension=php_openssl.dll到 php.ini 文件可能不起作用

要解决此问题,请打开命令提示符并键入php -i. 向上滚动到第一行,它将告诉您有关 php.ini 文件的最新错误。

为了解决这个问题,找到php_openssl.dll文件,对我来说它在编译输出的同一个目录中: C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS 所以只需将扩展名所在的目录添加到php.ini

extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"

希望错误会消失

于 2016-11-26T07:23:39.413 回答
1

对于那些和我有同样问题的人。完成上述所有解决方案后,仍然对我不起作用。我发现,uWamp 正在 bin/apache 目录中创建 PHP.INI 文件。于是只好将PHP.INI文件拷贝到php安装目录,即bin/php/phpXXXX目录下。这也应该是您从作曲家设置中选择的 php.exe 所在的位置。

希望这可以帮助。

于 2016-03-02T00:24:28.817 回答
0

如果您使用的是 xampp。回到您在安装开始时选择要使用的命令行 php 的位置,然后选择包含 xampp 文件夹的路径。之后,如果您的安装程序说您有重复的 'extension= php_openssl.dll' 用';'在你的 php ini 中注释一个 ssl 文件,你的安装应该可以顺利运行。

于 2017-07-17T05:28:43.753 回答