composer php警告:缺lessopenssl扩展名。 如何在WAMP中启用
尝试通过安装程序安装程序在Win7 / 64 + WampServer 2.2上安装Composer依赖项pipe理工具,并收到以下消息:
缺lessopenssl扩展,这会降低Composer的安全性和稳定性。 如果可能,你应该启用它或用–with-openssl重新编译php
所以这就是我做的…
- 从托盘中的
php > php extensions > php_openssl
图标中,单击php > php extensions > php_openssl
- 这表明,任务是通过在扩展名旁边放置一个复选标记来完成的
- 然后我重新启动WampServer
- 然后从托盘中的Wamp图标,我点击了
php > php.ini
,searchopensslvalidation它没有被评论)。 不是。 - 然后我又回到了Composer-Setup.exe并再次尝试。 相同的警告消息 :“openssl扩展名丢失”
- 从来没有使用过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服务器!