您必须启用openssl扩展才能通过https下载文件

时间:2013-01-12 07:08:34

标签: php ssl openssl zend-framework2 composer-php

我想安装Zend Framework 2.所以我下载了骨架应用程序。如ZF2手册中所述,我们必须发出命令

php composer.phar install 

骨架里面。

但我收到了错误

  

您必须启用openssl扩展程序才能通过https

下载文件

然后我在我的wamp中启用了ssl_module,我检查了php_ini文件,我可以看到以下行

  

延长= php_openssl.dll

我仍然遇到同样的错误。有人知道我错过了什么吗?

13 个答案:

答案 0 :(得分:285)

PHP CLI SAPI使用与CGI或Apache模块不同的php.ini

;extension=php_openssl.dll中找到第wamp/bin/php/php#.#.##/php.ini行 并从行的开头删除分号(;)取消注释。

答案 1 :(得分:37)

确认您正在编辑正确的php.ini文件。

参考: https://github.com/composer/composer/issues/1440

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

答案 2 :(得分:20)

确保您有正确的扩展程序文件夹路径

  

extension_dir =“ext”

默认情况下评论为;字符

答案 3 :(得分:9)

在玩Zend Framework 2和作曲家时我也遇到了同样的问题。我正在使用PHP 5.4(通过macports安装),我的解决方案是通过macports为PHP 5.4安装openssl。

sudo port install php54-openssl

答案 4 :(得分:4)

我遇到过这个问题,但配置openssl(也适用于cli)并没有帮助。

我更新了作曲家,这解决了我的问题。

只需输入:

$ php composer.phar self-update

$ composer selfupdate
祝你好运!

答案 5 :(得分:4)

我使用XAMPP。在C:\ xampp \ php \ php.ini中,openssl的条目不存在,所以我添加了" extension = php_openssl.dll"在989行,作曲家工作。

答案 6 :(得分:4)

您需要在两个文件(php和apache)中启用“extension = php_openssl.dll”。我的pc文件路径是这些:

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

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

答案 7 :(得分:3)

Uttam,如果您的问题没有解决,那么请尝试以下3步骤方法。它对我有用,因为我有完全相同的问题。

步骤1:点击wamp tray icon。

step2:转到菜单apache-> apache modules

第3步:点击菜单项“ssl_module”

它会自动重启wamp。如果wamp没有自动重启,那么通过wamp tray菜单重新启动它 - >重启所有服务。重新启动后确认“ssl_module”在菜单apache-> apache modules

下打勾

之后只需尝试php composer.phar安装 从你共享的响应,php.ini文件包含extension = php_openssl.dll和php / ext目录也有文件“php_openssl.dll”

祝你好运

答案 8 :(得分:3)

瓦列里的回答帮助了我: https://stackoverflow.com/a/14265815/492457

  

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

答案 9 :(得分:2)

确保为php.ini更新CLI。对于我的情况,这是C:\wamp\bin\php\php5.4.3\php.ini并取消注释extension=php_openssl.dll行。

答案 10 :(得分:1)

迟到的答案,但添加其他可以了解原因。

您还需要在“wamp \ bin \ php \ php-X.Y.Z”位置编辑php.ini文件。

答案 11 :(得分:0)

我必须取消注释extension=openssl文件中的php.ini,一切正常!

答案 12 :(得分:0)

请注意,如果您使用的是wamp,请不要使用wamp ui启用extension=php_openssl.dll

只需进入您的php目录,例如:C:\wamp\bin\php\php5.4.12并编辑php.ini并取消注释extension=php_openssl.dll

应该可以。

相关问题