我想安装Zend Framework 2,所以我下载了骨架应用程序。正如ZF2手册中提到的那样,我们必须发出以下命令:
php composer.phar install
骨架内部。
但我收到一个错误。
您必须启用openssl扩展以通过https下载文件。
然后我在我的wamp中启用了ssl_module,检查了php_ini文件,我可以看到以下行:
extension=php_openssl.dll
仍然出现相同的错误。有人知道我错过了什么吗?
我想安装Zend Framework 2,所以我下载了骨架应用程序。正如ZF2手册中提到的那样,我们必须发出以下命令:
php composer.phar install
骨架内部。
但我收到一个错误。
您必须启用openssl扩展以通过https下载文件。
然后我在我的wamp中启用了ssl_module,检查了php_ini文件,我可以看到以下行:
extension=php_openssl.dll
仍然出现相同的错误。有人知道我错过了什么吗?
PHP CLI SAPI使用的是与CGI或Apache模块不同的php.ini
文件。
在wamp/bin/php/php#.#.##/php.ini
中查找;extension=php_openssl.dll
这一行,并通过删除行开头的分号(;
)来取消注释。
php.ini
文件中找不到该行,只需在其动态扩展部分下添加以下行:extension=php_openssl.dll
。 - totymedli确认您正在编辑正确的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。"
确保您拥有正确的扩展文件夹路径
extension_dir = "ext" (默认情况下,此行用分号注释)
在使用Zend Framework 2和composer进行实验时,我也遇到了相同的问题。我正在使用通过MacPorts安装的PHP 5.4,并且我的解决方案是同样通过MacPorts安装PHP 5.4的openssl。
sudo port install php54-openssl
我曾经遇到过这个问题,但是配置openssl(包括cli版本)并没有帮助。
我更新了composer,问题得到了解决。
只需要输入:
$ php composer.phar self-update
或者
$ composer selfupdate
祝您好运!
我使用的是 XAMPP。在 C:\xampp\php\php.ini 文件中,没有 openssl 的相关设置,所以我在第 989 行加入了 "extension=php_openssl.dll",这样 composer 就能正常工作了。
您需要在两个文件(php和apache)中启用 "extension=php_openssl.dll"。 我的电脑文件路径如下:
C:\wamp\bin\php\php5.3.13\php.ini
C:\wamp\bin\apache\apache2.2.22\bin\php.ini
Valery的回答对我很有帮助: https://dev59.com/q2Yq5IYBdhLWcg3w8lJo#14265815
WAMP在CLI和Apache中使用不同的php.ini文件。当你通过WAMP UI启用php_openssl时,你只是为Apache启用了它,而没有为CLI启用。你需要修改C:\wamp\bin\php\php-5.4.3\php.ini文件以启用CLI。
确保您更新CLI
的php.ini
。对于我的情况,这是C:\wamp\bin\php\php5.4.3\php.ini
,并取消注释extension=php_openssl.dll
行。