【问题标题】:Composer Warning: openssl extension is missing. How to enable in WAMPComposer 警告:缺少 openssl 扩展。如何在 WAMP 中启用
【发布时间】:2012-12-13 06:41:28
【问题描述】:

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

缺少 openssl 扩展,会降低 Composer 的安全性和稳定性。 如果可能,您应该启用它或使用 --with-openssl 重新编译 php

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

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

我错过了什么?

请指教。

【问题讨论】:

  • 哇。我刚去谷歌试图获取更多信息,这篇文章出现在搜索结果中。已经?该死的太快了。 :-}
  • 你重启了网络服务器吗?
  • 是的,我确实重启了服务器。
  • 不确定您尝试使用 ssl 获得的范围有多大,但这可能会有所帮助:phpjoel.com/2011/04/07/…。如果这对您没有帮助,您始终可以在备份数据库和文件后尝试旧的重新安装故障排除方法。
  • 我刚刚将 WampServer 上的版本升级到最新版本。相同的消息。我只是继续安装。到目前为止,没有明显的错误。很奇怪。

标签: php wampserver composer-php


【解决方案1】:

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

【讨论】:

  • 你拯救了我对 laravel 的爱......为什么他们没有像旧版本一样离开安装 :)
  • 哎呀 laravel 把我带到了这里
  • 我正在使用uwamp,在哪里可以找到ini文件。
  • 答案也适用于EasyPHP(右键系统托盘EasyPHP图标,选择Configuration | PHP,在记事本中打开php.ini,搜索openssl,取消注释该行)
  • 我应该为 xampp 做什么?.. 我收到了这样的错误消息无法发送。邮件程序错误:缺少扩展名:openssl ,,,
【解决方案2】:

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

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

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

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

【讨论】:

  • 如果您尝试在 Windows 10 上安装 composer 并遵循此guide,这是正确的答案
【解决方案3】:

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

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

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

C:\wamp\bin\apache\apache2.2.22\bin\php.ini

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

【讨论】:

  • 安装时给出的默认路径错误,指向正确的 php.exe 解决了问题,谢谢。
【解决方案4】:

取消注释;extension=php_openssl.dll

wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini

会有用的

【讨论】:

  • 我正在使用 xampp.. 所以我编辑了 2 个名为 c/php/php.ini 和 c/apache/bin/php.ini.. 的文件在此 ;extension=php_openssl.dll 中删除了分号..但仍然像这个 Mailer Error: Extension missing: openssl..
  • @saina 你重启你的服务器了吗?同时运行 phpinfo() 来检查配置文件的位置。
【解决方案5】:

C:\laravel-master>composer 创建项目 laravel/laravel 安装 laravel/laravel (v4.0.6) - 安装 laravel/laravel (v4.0.6) [运行时异常] 您必须启用 openssl 扩展才能通过 https 下载文件

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

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

【讨论】:

  • 我知道这是题外话,但是你如何用 EasyPhp 安装作曲家。我只得到错误,必须重新安装所有。
【解决方案6】:

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

去掉开头的分号

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

在作曲家安装窗口中,只需单击返回然后下一步(或关闭它并重新开始),它应该可以工作

【讨论】:

    【解决方案7】:

    打开 wamp/bin/apache/apache2.4.4/bin/php 配置.. wamp/bin/php/php5.4.16/php conf 设置、php-ini 生产、php-ini 开发、phpForApache 查找 extension=php_openssl.dll 并通过删除 ; 取消注释

    【讨论】:

    【解决方案8】:

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

    【讨论】:

      【解决方案9】:

      您应该创建一个指向 php.ini 的符号链接。对不起russian link

      【讨论】:

        【解决方案10】:

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

        ;extension=php_openssl.dll
        

        去掉“;”像这样,它会工作。

        extension=php_openssl.dll
        

        快乐编码。

        【讨论】:

          【解决方案11】:

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

          【讨论】:

            【解决方案12】:

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

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

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

            它是相对于 httpd.exe Apache web 服务器 (C:\myStack\apache\bin) 但是,如果您希望它与 Composer 或任何您需要 物理路径 的东西一起使用,因为 cli 模式不使用网络服务器!

            【讨论】:

              【解决方案13】:

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

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

              【讨论】:

                猜你喜欢
                • 2016-11-30
                • 2017-06-13
                • 2016-02-14
                • 1970-01-01
                • 2022-01-27
                • 1970-01-01
                • 2013-08-06
                • 2014-09-24
                相关资源
                最近更新 更多