如何启用PHP的openssl扩展来安装Composer?

时间:2013-08-05 17:58:33

标签: php composer-php php-openssl

我正在尝试在WAMP设置中安装Laravel。我收到一条警告消息,指出我没有启用 openssl ,而这已经在WAMP中完成了。

以下是该消息的屏幕截图。

enter image description here

18 个答案:

答案 0 :(得分:115)

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

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

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

答案 1 :(得分:61)

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

我不确定我是否使用了OP的编辑器的相同安装程序版本,但它实际上要求您在开头指定您希望应用编写器的php.exe(这基本上可以确保没有人试图将作曲家应用于错误的php可执行文件,如OP)所发生的那样。

我解决这个问题的方法是自己进入wamp软件包中安装php:C:\wamp\bin\php\php5.4.12并在那里查看php.in ..当我打开它时,我感到震惊的是{{1}实际上已经评论过了!我取消评论它并且它运作得很好。

enter image description here

答案 2 :(得分:50)

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

  1. extension_dir = "ext"
  2. extension = php_openssl.dll
  3. 这里的每个人都会讨论openssl扩展,但是在windows中你也需要激活扩展dir。

答案 3 :(得分:25)

对于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

答案 4 :(得分:12)

如果你在Windows 没有其中一个WAMP堆栈上执行此操作,请按照以下步骤进行操作

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

    ;extension=php_openssl.dll
    
  5. 这应该就是你需要做的一切。 Composer安装程序应该从此处完成您需要的所有其他操作。

答案 5 :(得分:11)

你需要启用" extension = php_openssl.dll"在两个文件(PHP和Apache)中。我的pc文件路径是这些:

  1. C:\瓦帕\ BIN \ PHP中\ php5.3.13 \ php.ini中
  2. C:\瓦帕\ BIN \阿帕奇\ apache2.2.22 \ BIN \ php.ini中

答案 6 :(得分:7)

这是一个老问题,但我遇到了同样的问题(使用PHP7),最终解决方案非常简单。尽管如此,根据其他答案取消注释php.ini中的行是不够的。我需要改变它:

;extension=php_openssl.dll

为:

extension=ext/php_openssl.dll

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

答案 7 :(得分:7)

您需要在

中启用openssl扩展程序
C:\wamp\bin\php\php5.4.12\php.ini 

这是具有类型的php配置文件,其“配置设置”带有驱动程序 - 记事本,如图标。

  1. 用记事本或任何编辑器打开它,
  2. 搜索openssl“你的ctrl + F”会这样做。
  3. 在openssl扩展名之前有一个分号

    ;extension=php_openssl.dll
    

    删除分号,你将

    extension=php_openssl.dll
    
  4. 保存文件并重新启动您的WAMP服务器,之后您就可以开始了。 再次重新安装应该运行的应用程序。

答案 8 :(得分:6)

有两个php.ini个文件,一个用于开发,一个用于生产。保留这些文件,在其上方有一个用于配置设置的php.ini文件,其中包含图标编辑等设备。

答案 9 :(得分:3)

编辑"右"文件(所有php.ini' s)。我还有这个问题。 我的解决方案是:

  1. 添加系统变量:OPENSSL_CONF

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

  2. 对我来说是:

    • C:\瓦帕\ BIN \ PHP中\ php5.6.12 \额外\ SSL \ openssl.cnf中

    - >重启WAMP - >现在应该工作

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

答案 10 :(得分:2)

我遇到了同样的问题,但是当我在浏览php.ini和php.exe时,我发现php.exe在C:\ UwAmp \ bin \ php \ php-5.4.15,当时php.ini在C:\ UwAmp \ BIN \ apache的。 我只是在C:\ UwAmp \ bin \ php \ php-5.4.15复制php.ini并取消注释行extension = php_openssl.dll并修复它。

答案 11 :(得分:2)

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

答案 12 :(得分:2)

C:\瓦帕\ BIN \ PHP中\ php5.3.13

浏览到以下行:

;extension=php_openssl.dll

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

答案 13 :(得分: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。

答案 14 :(得分: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"

希望错误消失

答案 15 :(得分:1)

对于那些和我一样有同样问题的人。完成上述所有解决方案后,仍然无法为我工作。我发现,uWamp正在bin / apache目录中创建PHP.INI文件。所以我不得不将PHP.INI文件复制到php安装目录,即bin / php / phpXXXX目录。这也应该是你从作曲家设置中选择的php.exe。

希望这有帮助。

答案 16 :(得分:1)

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

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

就是这样。

enter image description here

答案 17 :(得分:0)

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