如何启用PHP的openssl扩展来安装Composer?

我想在WAMP安装中安装Laravel。 我得到了一个警告消息,不启用我已经在WAMP中完成的openssl

这是该消息的屏幕截图。

在这里输入图像说明

WAMP和Composer可能使用不同的PHP安装。 Composer将使用PATH环境variables中的PHP设置。

如果要启用openssl扩展来安装Composer ,首先需要检查PHP安装的位置。

  1. 打开一个命令提示符,input: echo %PATH%然后检查你的PHP安装的位置。
  2. 转到该位置并编辑名为: php.ini
  3. 取消注释行extension=php_openssl.dll通过在开始时删除分号。

现在你很好安装Composer。

我以不同的方式解决了我的问题。 问题是wamp的graphics用户界面误导:它声称我有php_openssl启用..如果我点击php.ini在同一个graphics用户界面..它实际上显示extension=php_openssl.dll被取消注释..

我不知道我是否使用OP的composer php的安装版本,但它实际上是要求你在开始时指定你喜欢应用composer php的php.exe (基本上确保没有人试图应用composer php错误的PHP可执行文件与OP发生的事情)..

我解决这个问题的方法是把自己安装到wamp包中的php: C:\wamp\bin\php\php5.4.12然后看看php.in当我打开它的时候,我感到震惊的是, extension=php_openssl.dll实际上是评论! 我取消了评论,它工作得很好。

在这里输入图像说明

我有同样的问题,在这里我find的解决scheme,你的php.ini你需要做一些改变:

  1. extension_dir = "ext"
  2. extension = php_openssl.dll

这里的每个人都会主动讨论openssl扩展,但是在windows中你也需要激活扩展dir。

对于WAMP服务器,“Enrique”给出的评论解决了我的问题。

wamp正在使用这个php.ini

 c:\wamp\bin\apache\Apache2.4.4\bin\php.ini 

但composer php从CLI使用PHP,因此它读取这个文件:

 c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there) 

composer php,你将不得不启用扩展

 c:\wamp\bin\php\php5.4.12\php.ini 

更改:

 ;extension=php_openssl.dll 

 extension=php_openssl.dll 

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

  1. C:\ WAMP \ BIN \ PHP \ php5.3.13 \ php.ini中
  2. C:\ WAMP \ BIN \ apache的\ apache2.2.22 \ BIN \ php.ini中

如果你在没有 WAMP堆栈的情况下在Windows上这样做,下面就是如何实现这一点

  1. 下载用于Windows的PHP的安装 。 通常你会想要一个非线程安全的安装。 您可以使用32位或64位版本
  2. 解压缩文件的地方。 我会build议C:\php 。 composer php的安装程序find它没有任何额外的提示
  3. 最新版本的PHP for Windows 在默认情况下不带有php.ini 。 相反,你会看到两个文件,如下所述。 重命名为php.ini或将其复制到php.ini
    • php.ini中发展
    • php.ini中产
  4. 打开你的php.ini文件,并从这一行中删除分号(你可能还想取消注释其他的东西,但这行是Composer唯一必需的)

     ;extension=php_openssl.dll 

这应该是你需要做的一切。 composer php安装程序应该从这里做你需要的一切。

你需要启用openssl扩展

 C:\wamp\bin\php\php5.4.12\php.ini 

那是它的types的phpconfiguration文件具有“configuration设置”与驱动程序 – 记事本像图标。

  1. 用记事本或任何编辑器打开它,
  2. searchopenssl“你的ctrl + F”会做的。
  3. 在openssl扩展之前有一个分号

     ;extension=php_openssl.dll 

    删除分号,你会有

     extension=php_openssl.dll 
  4. 保存文件并重新启动你的WAMP服务器后,你很好去。 重新安装应用程序的应用程序。

有两个php.ini文件,一个用于开发,一个用于生产。 离开这些,有另一个php.ini文件的configuration设置就在他们之上,像图标编辑这样的齿轮。

我遇到了同样的问题,但是当我为php.ini和php.exe运行时,我发现php.exe在C:\ UwAmp \ bin \ php \ php-5.4.15当在php.ini中C:\ UwAmp \ bin \ apache的。 我只是在C:\ UwAmp \ bin \ php \ php-5.4.15中复制php.ini,并取消注释行扩展名= php_openssl.dll并修复。

我正在使用WAMP服务器。 其实它的文件显示openssl被打开。 但手动我去了文件夹和编辑php.ini 。 然后我发现它没有打开openssl.I取消注释,它在WAMP重启之后起作用。

C:\ WAMP \ BIN \ PHP \ php5.3.13

浏览到以下行:

 ;extension=php_openssl.dll 

并删除该行前面的分号。 重新启动您的WAMP服务器服务(点击您的图标托盘>“重新启动所有服务”

在编辑“正确的”文件(所有php.ini的)之后。 我仍然是这个问题。 我的解决scheme是:

  1. 添加一个系统variables:OPENSSL_CONF

    OPENSSL_CONF的值应该是当前php版本的openssl.cnf文件。

对我来说是这样的:

  • C:\ WAMP \ BIN \ PHP \ php5.6.12 \演员\ SSL \ openssl.cnf中

– >重新启动WAMP – >现在应该工作

资料来源: http : //php.net/manual/en/openssl.installation.php

如果你仍然无法解决你的问题,看看这个。 这可能是你正在寻找的解决scheme

在C:\ wamp \ bin \ php \ php xyz文件夹中有几个php.ini文件。 你可能会发现生产,开发和一些其他的php.ini文件。 没有编辑生产和开发文件的要点。 find与下图完全相同的文件。 (你可以find它,只需在你的search栏inputphp.ini并search)。 打开文件并删除; 从extension = php_openssl.dll。 保存该文件并closures它。 重新启动Wampp服务器中的所有服务。 重新安装你的composer php。

这就对了。

在这里输入图像说明

Wamp与另一个在C:\ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini中的php.ini协同工作。 因此,您需要手动查找正确的文件,即C:\ wamp \ bin \ php \ php5.4.12 \ php.ini。 取消注释extension = php_openssl.dll行,然后尝试再次安装Composer。

对于那些和我有同样问题的人 做完以上所有的解决scheme后,仍然没有为我工作。 我发现,uWamp正在bin / apache目录下创buildPHP.INI文件。 所以我不得不将PHP.INI文件复制到php安装目录,即bin / php / phpXXXX目录。 这也应该是您从composer安装程序中select的php.exe的位置。

希望这可以帮助。

如果你从源代码编译,那么将extension=php_openssl.dll添加到php.ini文件可能不起作用

要解决这个问题,打开命令提示符并键入php -i 。 滚动到第一行,它会告诉你关于你的php.ini文件的最新错误。

为了解决这个问题,findphp_openssl.dll文件,对我来说,它是在编译输出的同一目录中: C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS所以只需将扩展名所在的目录添加到php.ini

 extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS" 

希望这个错误将会消失

这是一个古老的问题,但我只是有同样的问题(用PHP7),解决scheme,最后,非常简单。 根据其他答案取消注释在php.ini的行是不够的,虽然。 我需要改变它:

 ;extension=php_openssl.dll 

至:

 extension=ext/php_openssl.dll 

请注意ext前缀。 该DLL已经存在,但在一个子文件夹。 更改configuration后,composer php安装程序很高兴。

如果您正在使用xampp。请回到您select安装开始时要使用哪个命令行php的位置,并select包含xampp文件夹的path。如果安装程序说你有重复的“extension = php_openssl.dll'注释一个SSL文件在您的php ini与';'和您的安装应该顺利运行。