尝试通过Composer在 Win7 / 64 + WampServer 2.2 上安装Setup Installer依赖关系管理工具,我收到以下消息:
缺少openssl扩展,这将降低Composer的安全性和稳定性。 如果可能,您应该启用它或使用--with-openssl
重新编译php
所以这就是我所做的......
php > php extensions > php_openssl
php > php.ini
并搜索openssl以验证它没有被评论出来。事实并非如此。我错过了什么?
请告知。
答案 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