composer php警告:缺lessopenssl扩展名。 如何在WAMP中启用

尝试通过安装程序安装程序在Win7 / 64 + WampServer 2.2上安装Composer依赖项pipe理工具,并收到以下消息:

缺lessopenssl扩展,这会降低Composer的安全性和稳定性。 如果可能,你应该启用它或用–with-openssl重新编译php

所以这就是我做的…

  1. 从托盘中的php > php extensions > php_openssl图标中,单击php > php extensions > php_openssl
  2. 这表明,任务是通过在扩展名旁边放置一个复选标记来完成的
  3. 然后我重新启动WampServer
  4. 然后从托盘中的Wamp图标,我点击了php > php.ini ,searchopensslvalidation它没有被评论)。 不是。
  5. 然后我又回到了Composer-Setup.exe并再次尝试。 相同的警告消息 :“openssl扩展名丢失”
  6. 从来没有使用过OpenSSL,我不知道应该设置什么,所以我尝试使用https浏览到我的本地站点之一。 它失败了。

我错过了什么?

请指教。

WAMP在CLI和Apache中使用不同的php.ini文件。 当通过WAMP用户界面启用php_openssl时,您可以为Apache启用它,而不是CLI。 您需要修改C:\ wamp \ bin \ php \ php-5.4.3 \ php.ini以在CLI中启用它。

除了取消注释php.ini中其他人提到的;extension=php_openssl.dll行外,还必须确保;extension_dir = "ext"行也被取消注释。 取消注释,删除前缀分号并保存。

这一行可能已经在像WAMP和XAMPP这样的软件包中取消了注释,但是它并不是Windows下普通的PHP下载,所以这是值得validation的。 另外,你必须通过复制一个例子来创buildphp.ini文件,例如php.ini-development到一个新文件,然后命名为php.ini 。 然后在那里做这些改变。

另外,将来要安装PHP和Composer等工具,我推荐使用Chocolatey包pipe理器。 然后就像choco install composer一样简单。 当然,在使用choco方法安装Composer之前,仍然需要编辑php.ini。 在未来的Windows版本中, 像Chocolatey这样的软件包pipe理工具将被烘焙到Windows中 ,就像Ubuntu中的apt-get一样。 令人兴奋的开发者时代!

无论采用哪种方法,在安装Composer之后,不要忘记重新启动terminal。 无论您是使用命令提示符,Bash(使用Git安装)还是Powershell,都需要在更新的环境variables工作之前重新启动它。

即使启用了openssl,我也遇到了同样的问题。 问题是Composer安装程序正在查看这个configuration文件:

C:\ WAMP \ BIN \ PHP \ php5.4.3 \ php.ini中

但是加载的configuration文件实际上是在这里:

C:\ WAMP \ BIN \ apache的\ apache2.2.22 \ BIN \ php.ini中

所以我只需要在第一个php.ini文件中取消注释,就可以了。 这是默认情况下WAMP安装在我的机器上的方式。 我没有改变任何东西,所以这可能会发生在别人身上。 这与Augie Gardner的回答基本相同,但我只想指出,你可能有两个php.ini文件。

取消注释;extension=php_openssl.dll

 wamp\bin\php\php5.4.12\php.ini wamp\bin\apache\Apache2.4.4\bin\php.ini 

它会工作

C:\ laravel-master> composer create-project laravel / laravel安装laravel / laravel(v4.0.6) – 安装laravel / laravel(v4.0.6)[RuntimeException]必须启用openssl扩展才能通过https

我正在使用EasyPhp(WAMPtypes)。 在任务栏的EasyPHP图标中,右键单击并selectconfiguration,然后selectPHP。 我将在记事本中打开PHP.ini文件configuration,在记事本中search查找或CTRL + F ,findOPENSSL这个单词;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中创build项目Loading composer软件包信息安装依赖关系(包括require-dev)

你应该build立一个符号链接到php.ini。 对不起, 俄罗斯链接 。

你需要编辑“c:\ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini”文件search:; extension = php_openssl.dll

在开始处删除分号

注意:如果保存文件不起作用,则需要以pipe理员身份进行编辑。 (在win7上)进入开始菜单,search记事本,右键点击记事本,点击“以pipe理员身份运行”

在composer php安装窗口只需点击下一步(或closures它,然后重新开始),它应该工作

打开wamp / bin / apache / apache2.4.4 / bin / php config .. wamp / bin / php / php5.4.16 / php conf设置,php-ini制作,php-ini dev,phpForApachefindextension = php_openssl.dll并取消注释去除;

简短而又甜蜜,在wamp/bin/php/php5.3.13 (或者其他的php版本)中取消注释:
;extension=php_openssl.dll (删除;
现在运行Composer的命令行安装。 你不会有错误。
很好去!

是的,你必须打开php.ini,并删除分号:

 ;extension=php_openssl.dll 

去除 ”;” 像这样,它会工作。

 extension=php_openssl.dll 

快乐的编码。

对于安装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 

所有这些答案都是好的,但实际上,如果你想了解,扩展名目录需要是正确的,如果你想让所有的注释扩展工作。 可以写一个物理或相对path

 extension_dir = "C:/myStack/php/ext" 

要么

 extension_dir = "../../php/ext" 

这是相对于httpd.exe Apache Web服务器(C:\ myStack \ apache \ bin)但是如果你想让它与Composer或任何你需要的物理path,因为cli模式不使用Web服务器!