【问题标题】:Install Composer fails with "The openssl extension is missing" error安装 Composer 失败并出现“缺少 openssl 扩展”错误
【发布时间】:2014-09-24 02:34:19
【问题描述】:

我正在尝试安装 Composer,但出现以下错误:

“您机器上的某些设置使 Composer 无法正常工作。 确保您修复了下面列出的问题并再次运行此脚本:

缺少 openssl 扩展,这意味着安全 HTTPS 传输是不可能的。 如果可能,您应该启用它或使用 --with-openssl" 重新编译 php"

然后我进入我的 php.ini-production 并取消注释: "extension=php_openssl.dll"

这还是不行,我还有什么需要做的吗?

【问题讨论】:

标签: php windows composer-php


【解决方案1】:

更改 php.ini 中的任何内容后,您必须重新启动服务器,确保首先这样做。

【讨论】:

  • 我只是想在本地安装它...这是否意味着重新启动我的计算机?即,我下载了 zip 并解压缩了它......这就是我所做的事情......
  • @keynesiancross 当您为 php 安装新的扩展时,需要重新启动 php 进程,以便它实际上可以访问该扩展。您可能已经安装并编辑了配置文件,但您仍然需要重新启动 php 进程,以便它重新加载具有新扩展名的配置文件(.ini)。根据您使用的 Web 服务器,这样做会有所不同。 sudo service apache2 restart 如果您使用 apache2(如果您使用的是 apache1,则使用 httpd 而不是 apache2)和 mod_php 或 sudo service php-fpm restart 如果您使用的是 php-fpm。
【解决方案2】:

我怀疑“php.ini-production”是一个适用于实时环境的虚拟配置文件。在控制台上执行php -i 并找到“php.ini”路径,以查看它期望保存 ini 文件的位置。这通常需要“php.ini”,并且可能实际上不存在 - 如果不存在,请将 php.ini-development(或类似的)复制到所需的位置。

这接近(很长)输出的顶部,因此您可能会发现将其重定向到文件很有帮助 (php -i > C:\phpinfo.txt)。

【讨论】:

  • 谢谢伙计。你能解释一下这部分吗:在控制台执行 php -i 并找到 'php.ini' 路径我在这方面是全新的......
  • 您在 Windows 上,对吗?打开cmd 窗口,然后键入该命令。试一试,如果它不起作用,Windows 上最常见的问题是设置PATH。如果遇到php 未找到的错误,请搜索“Windows PHP 路径”。
  • 我刚刚将 php.ini-production 复制到一个名为 php.ini 的新文件中,它解决了问题。为什么 PHP 7 不只附带一个名为 php.ini 的文件,而不是两个名为 php.ini-development 和 php.ini-production 的文件?
  • @MatthewPark:这可能是您的 Linux 发行版维护人员做出的决定。您使用的是什么操作系统?
  • @halfer 我在 Windows 10 上
【解决方案3】:

在 WAMPserver 中编辑此文件:

D:\wamp\bin\php\php5.3.10\php.ini

D:\wamp\bin\php\php5.4.12\php.ini (基于版本)

不要在 WAMP 服务器菜单中使用 php.ini。不起作用。转到 wamp 的根目录,如上所示,使用 D 作为根目录。

【讨论】:

    【解决方案4】:

    创建一个php.ini(例如来自php.ini-production),在编辑器中打开它以管理员身份(!),删除extension=php_openssl.dll前面的注释分号;,设置extension_dir 正确,然后保存文件。之后它应该可以工作。但再一次:以管理员身份打开并编辑php.ini

    【讨论】:

    • 我这样做了,但没有任何变化。
    【解决方案5】:

    您还需要取消注释扩展目录。例如,在您的 php.ini 文件中找到这一行:

    ;extension_dir = "ext"

    去掉前面的分号,保存文件。我相信这会奏效。

    记得打开你的php.ini管理员模式

    【讨论】:

    • 谢谢你,这对我很有帮助:)
    【解决方案6】:

    如果您在 Windows 上使用 MAMP,则需要将 php.ini-development 的扩展名更改为 php.ini 然后,将此行 ;extension_dir = "ext" 粘贴到 php.ini 文件中,在第一个扩展名出现之前,并取消注释其他行 ;extension=php_openssl.dll 删除前缀分号。 别忘了重启apache

    【讨论】:

    • 或 - 将 php.iniC:\MAMP\conf\phpx.x.x 复制到 C:\MAMP\bin\php\phpx.x.x
    • 我还必须将安装路径从“C:\Progarm Files\php”移动到“C:\php”
    猜你喜欢
    • 2016-02-14
    • 2017-06-13
    • 1970-01-01
    • 2021-11-08
    • 2015-02-10
    • 2015-10-31
    • 2015-06-24
    • 2015-10-19
    • 1970-01-01
    相关资源
    最近更新 更多