124

我想安装 Zend Framework 2。所以我下载了框架应用程序。正如ZF2手册中提到的,我们必须发出命令

php composer.phar install 

骨架里面。

但我收到一个错误

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

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

扩展=php_openssl.dll

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

4

13 回答 13

288

PHP CLI SAPI 使用不同于php.iniCGI 或 Apache 模块。

通过从行首删除分号 ( ) 来查找 line ;extension=php_openssl.dllinwamp/bin/php/php#.#.##/php.ini 并取消注释。;

于 2013-01-21T20:55:40.247 回答
36

验证您正在编辑正确的 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- XYZ\php.ini 为 CLI 启用它。”

于 2013-05-08T11:55:32.077 回答
22

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

extension_dir = "分机"

默认情况下,它带有注释;特点

于 2013-11-19T12:43:46.220 回答
10

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

sudo 端口安装 php54-openssl
于 2013-08-16T16:34:59.873 回答
5

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

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

只需输入:

$ php composer.phar self-update

或者

$ composer selfupdate

祝你好运!

于 2013-03-19T22:55:45.837 回答
4

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

于 2013-11-23T22:31:27.173 回答
4

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

  1. C:\wamp\bin\php\php5.3.13\php.ini

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

于 2014-12-22T06:16:37.400 回答
3

Valery 的回答帮助了我: 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 启用它。

于 2013-09-20T06:40:54.593 回答
3

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

step1:点击wamp托盘图标。

第二步:转到菜单 apache->apache 模块

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

它会自动重启 wamp。如果 wamp 未自动重新启动,则通过 wamp 托盘菜单-> 重新启动所有服务重新启动它。重新启动后确认“ssl_module”在菜单 apache->apache 模块下打勾

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

祝你好运

于 2013-01-29T17:26:30.693 回答
2

确保更新您的php.inifor CLI。就我而言,这是C:\wamp\bin\php\php5.4.3\php.ini取消注释extension=php_openssl.dll行。

于 2013-07-02T12:03:02.643 回答
1

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

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

于 2014-02-12T05:53:54.293 回答
0

我必须取消注释文件才能正常工作extension=opensslphp.ini

于 2019-12-10T17:59:20.847 回答
0

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

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

它应该工作。

于 2020-05-16T09:33:10.210 回答