php - Composer警告:缺少openssl扩展名。 如何在WAMP中启用
尝试通过安装程序安装程序在Win7 / 64 + WampServer 2.2上安装Composer依赖关系管理工具,我收到以下消息:
缺少openssl扩展,这将降低Composer的安全性和稳定性。 如果可能,您应该启用它或使用--with-openssl重新编译php
所以这就是我所做的......
从我在Tray中的Wamp图标,单击php > php.ini
这表明通过在扩展名旁边放置一个复选标记来完成任务
然后我重新启动了WampServer
然后从托盘中的Wamp图标,我点击php > php.ini并搜索openssl以验证它没有被评论出来。 它不是。
然后我回到Composer-Setup.exe并再次尝试。 相同的警告消息:“缺少openssl扩展”
从未使用过OpenSSL,我不确定应该设置什么,所以我尝试使用https浏览到我的本地站点之一。 它失败了。
我错过了什么?
请指教。
13个解决方案
317 votes
WAMP在CLI和Apache中使用不同的php.ini文件。 当您通过WAMP UI启用php_openssl时,您为Apache启用它,而不是为CLI启用它。您需要修改C:\ wamp \ bin \ php \ php-5.4.3 \ php.ini以启用它。
Valery I. answered 2019-06-04T04:12:35Z
26 votes
除了取消注释choco install composer在apt-get中所有人都提到的那一行之外,您还必须确保php.ini行也被取消注释。 要取消注释,请删除带前缀的分号并保存。
该行可能已经在WAMP和XAMPP等软件包中取消注释,但它不适用于Windows的普通PHP下载,因此值得验证。 此外,您必须通过将其中一个示例(如apt-get)复制到新文件,然后将其命名为php.ini来创建choco install composer文件。然后在那里进行这些更改。
此外,在将来,为了安装PHP和Composer等工具,我建议使用Chocolatey包管理器。 然后它就像choco install composer一样简单。当然,在使用choco方法安装Composer之前,你仍然需要编辑php.ini。 在未来的Windows版本中,像Chocolatey这样的软件包管理工具将被用于Windows,就像apt-get在Ubuntu中一样。 开发人员激动人心的时刻!
使用任一方法,在安装Composer之后,不要忘记重新启动终端。 无论您使用的是命令提示符,Bash(使用Git安装)还是Powershell,您都需要在更新的环境变量工作之前重新启动它。
Scott Pigeon answered 2019-06-04T04:13:22Z
16 votes
即使启用了openssl,我也遇到了同样的问题。 问题是Composer安装程序正在查看此配置文件:
C:\ WAMP\ BIN\ PHP\ php5.4.3\ php.ini中
但是加载的配置文件实际上在这里:
C:\ WAMP\ BIN \ apache的\ apache2.2.22\ BIN \ php.ini中
所以我只需要在第一个php.ini文件中取消注释它就可以了。 这是默认情况下WAMP在我的机器上的安装方式。 我没有改变任何东西,所以这可能也会发生在其他人身上。 这与上面的Augie Gardner的答案基本相同,但我只想指出你可能有两个php.ini文件。
regularmike answered 2019-06-04T04:14:15Z
12 votes
在两者中取消注释;extension=php_openssl.dll
wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini
它会工作
vuhung3990 answered 2019-06-04T04:14:43Z
5 votes
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)
voltronluis answered 2019-06-04T04:15:36Z
2 votes
你应该为php.ini创建一个符号链接。 对不起俄罗斯链接。
Alex Pliutau answered 2019-06-04T04:16:04Z
2 votes
你需要编辑“c:\ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini”文件搜索:;延长= php_openssl.dll
在开头删除分号
注意:如果保存文件不起作用,则需要以管理员身份进行编辑。 (在win7上)进入开始菜单,搜索记事本,右键单击记事本,单击“以管理员身份运行”
在作曲家安装窗口中,只需单击后面然后单击(或关闭它然后重新开始)它应该可以工作
Zemba Albert answered 2019-06-04T04:16:52Z
2 votes
打开wamp / bin / apache / apache2.4.4 / bin / php config .. wamp / bin / php / php5.4.16 / php conf设置,php-ini制作,php-ini dev,phpForApache找到extension = php_openssl.dll并取消注释;
Njoroge Mathu answered 2019-06-04T04:17:18Z
1 votes
简短而甜蜜,在wamp/bin/php/php5.3.13(或任何php版本)取消注释这一行:
;extension=php_openssl.dll(删除;)
现在运行Composer的命令行安装。 你不会有错误。
很高兴去!
Augie Gardner answered 2019-06-04T04:18:05Z
1 votes
是的,您必须打开php.ini并删除分号:
;extension=php_openssl.dll
除掉 ”;” 像这样,它会工作。
extension=php_openssl.dll
快乐的编码。
Sujeet Kumar answered 2019-06-04T04:18:45Z
0 votes
为了安装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
satch_boogie answered 2019-06-04T04:19:16Z
0 votes
所有这些答案都很好,但实际上,如果您想了解,如果您希望所有未注释的扩展都能正常工作,则扩展目录必须正确。 可以写一个物理或相对路径
extension_dir = "C:/myStack/php/ext"
要么
extension_dir = "../../php/ext"
它与httpd.exe Apache Web服务器(C:\ myStack \ apache \ bin)相关但是,如果您希望它与Composer或任何您需要物理路径一起使用,因为cli模式不使用Web服务器!
François Breton answered 2019-06-04T04:19:56Z
0 votes
我面临同样的问题。 我将我的php文件夹从php7_winxxxx重命名为php,它运行正常。 看起来像作曲家正在检查位于c:/php的php_openssl模块的位置。
您可能还需要在环境变量中将c:/php添加到PATH
Tushortz answered 2019-06-04T04:20:33Z