编写器警告:缺少openssl扩展名。如何在WAMP中启用

时间:2012-12-27 22:21:37

标签: php wampserver composer-php

尝试通过Composer Win7 / 64 + WampServer 2.2 上安装Setup Installer依赖关系管理工具,我收到以下消息:

  

缺少openssl扩展,这将降低Composer的安全性和稳定性。   如果可能,您应该启用它或使用--with-openssl

重新编译php

所以这就是我所做的......

  1. 从托盘中的Wamp图标,点击php > php extensions > php_openssl
  2. 这表明通过在扩展名
  3. 旁边放置复选标记来完成任务
  4. 然后我重新启动了WampServer
  5. 然后从托盘中的Wamp图标,我点击php > php.ini并搜索openssl以验证它没有被评论出来。事实并非如此。
  6. 然后我回到Composer-Setup.exe并再次尝试。 相同的警告消息:“缺少openssl扩展”
  7. 从不使用OpenSSL,我不确定应该设置什么,所以我尝试使用https浏览到我的本地站点之一。它失败了。
  8. 我错过了什么?

    请告知。

13 个答案:

答案 0 :(得分:316)

WAMP在CLI和Apache中使用不同的php.ini文件。当您通过WAMP UI启用php_openssl时,您为Apache启用它,而不是为CLI启用它。 您需要修改C:\ wamp \ bin \ php \ php-5.4.3 \ php.ini以便为CLI启用它。

答案 1 :(得分:26)

除了取消注释其他人提到的;extension=php_openssl.dll中的php.ini行之外,您还必须确保;extension_dir = "ext"行也取消注释。要取消注释,请删除带前缀的分号并保存。

该行可能已经在WAMP和XAMPP等软件包中取消注释,但它不适用于Windows的普通PHP下载,因此值得验证。此外,您必须通过将其中一个示例(例如php.ini)复制到新文件然后将其命名为php.ini-development来创建php.ini文件。然后在那里进行这些更改。

此外,为了安装PHP和Composer等工具,我建议使用Chocolatey包管理器。然后它就像choco install composer一样简单。当然,在使用choco方法安装Composer之前,您仍然需要编辑php.ini。在Windows的未来版本中,package management tools like Chocolatey will be baked into Windows与Ubuntu中的apt-get相同。开发人员激动人心的时刻!

使用任何一种方法,在安装Composer之后,不要忘记重新启动终端。无论您是使用命令提示符,Bash(使用Git安装)还是Powershell,您都需要在更新的环境变量工作之前重新启动它。

答案 2 :(得分:16)

即使启用了openssl,我也遇到了同样的问题。问题是Composer安装程序正在查看此配置文件:

C:\瓦帕\ BIN \ PHP中\ php5.4.3 \ php.ini中

但是加载的配置文件实际上在这里:

C:\瓦帕\ BIN \阿帕奇\ apache2.2.22 \ BIN \ php.ini中

所以我只需要在第一个php.ini文件中取消注释它就可以了。这是默认情况下WAMP在我的机器上的安装方式。我没有改变任何东西,所以这可能也会发生在其他人身上。这与上面的Augie Gardner的答案基本相同,但我只想指出你可能有两个php.ini文件。

答案 3 :(得分:12)

中取消注释;extension=php_openssl.dll
wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini

它会起作用

答案 4 :(得分:5)

  

C:\ laravel-master> composer create-project laravel / laravel   安装laravel / laravel(v4.0.6)      - 安装laravel / laravel(v4.0.6)     [RuntimeException的]     您必须启用openssl扩展程序才能通过https

下载文件

我正在使用EasyPhp(WAMP类型)。在任务栏的EasyPHP图标中,右键单击并选择配置,然后选择PHP。我将在记事本中打开PHP.ini文件配置,在记事本中搜索 - 找到 CTRL + F ,找到OPENSSL这个词你会发现这个;extension=php_openssl.dll只需删除;并且extension=php_openssl.dll处于有效状态。

  

C:\ laravel-master> composer create-project laravel / laravel   安装laravel / laravel(v4.0.6)      - 安装laravel / laravel(v4.0.6)       下载:100%   在C:\ laravel-master \ laravel中创建项目   使用包信息加载composer存储库   安装依赖项(包括require-dev)

答案 5 :(得分:2)

你应该为php.ini创建一个符号链接。抱歉russian link

答案 6 :(得分:2)

你需要编辑“c:\ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini”文件 搜索: ;延长= php_openssl.dll

删除开头的分号

注意:如果保存文件不起作用,则需要以管理员身份进行编辑。 (在win7上)进入开始菜单,搜索记事本,右键单击记事本,单击“以管理员身份运行”

在作曲家安装窗口中的

只需单击然后再单击(或关闭它然后重新开始)它应该可以正常工作

答案 7 :(得分:2)

打开wamp / bin / apache / apache2.4.4 / bin / php config ..        wamp / bin / php / php5.4.16 / php conf设置,php-ini制作,php-ini开发,phpForApache找到 extension = php_openssl.dll 并取消; 取消注释

答案 8 :(得分:1)

简短而甜蜜,在wamp/bin/php/php5.3.13(或任何php版本)中取消注释这一行:
;extension=php_openssl.dll(删除;
现在运行Composer的命令行安装。你不会有错误。
很高兴!

答案 9 :(得分:1)

是的,您必须打开php.ini并将分号删除为:

;extension=php_openssl.dll

删除";"像这样,它会起作用。

extension=php_openssl.dll

快乐编码。

答案 10 :(得分:0)

为了安装Composer,下面的步骤让我:(WAMP版本2.4 x64bit)

edit ->
**C:\wamp\bin\php\php5.4.12\php.ini**
;;uncomment below line or remove the semicolons ';'
extension=php_openssl.dll

**C:\wamp\bin\apache\Apache2.4.4\bin\php.ini**

extension=php_openssl.dll

答案 11 :(得分:0)

所有这些答案都很好,但实际上,如果您想了解,如果您希望所有未注释的扩展都能正常工作,那么扩展目录必须正确。可以写一个物理或相对路径,如

extension_dir = "C:/myStack/php/ext"

extension_dir = "../../php/ext"

它与httpd.exe Apache Web服务器(C:\ myStack \ apache \ bin)相关 但是,如果您希望它与 Composer 一起使用,或者您需要物理路径,因为cli模式不使用Web服务器!

答案 12 :(得分:0)

我遇到了同样的问题。我将我的php文件夹从php7_winxxxx重命名为php,它运行正常。看起来作曲家正在c:/php/ext中检查php_openssl模块的位置。

您可能还需要将c:/php添加到环境变量

中的PATH