试图通过安装程序安装程序在Win7 / 64 + WampServer 2.2上安装Composer依赖性管理工具,我得到以下消息:
缺少openssl扩展名,这将降低Composer的安全性和稳定性。如果可能的话,您应该启用它或使用--with-openssl重新编译php
所以这就是我所做的...
- 在“任务栏”中的“我的Wamp”图标中,单击
php > php extensions > php_openssl
- 这表明通过在扩展名旁边放置复选标记可以完成任务
- 然后,我重新启动了WampServer
- 然后从托盘中的Wamp图标中,单击
php > php.ini
并搜索openssl以验证它没有被注释掉)。不是。 - 然后,我返回到Composer-Setup.exe并再次尝试。相同的警告消息:“缺少openssl扩展名”
- 由于从未使用过OpenSSL,因此我不确定应该设置什么,因此我尝试使用https浏览到我的本地站点之一。失败了。
我想念什么?
请指教。
WAMP在CLI和Apache中使用不同的php.ini文件。通过WAMP UI启用php_openssl时,请为Apache而不是CLI启用它。您需要修改C:\ wamp \ bin \ php \ php-5.4.3 \ php.ini才能在CLI中启用它。
除了取消对;extension=php_openssl.dll
符合php.ini
其他人都已经提到的,你还必须确保;extension_dir = "ext"
线也注释。要取消注释,请删除前缀的分号并保存。
在WAMP和XAMPP之类的软件包中可能已经没有注释该行,但是在Windows的简单PHP下载中却没有,因此值得进行验证。另外,您还必须php.ini
通过复制以下示例之一来创建文件,例如php.ini-development
将其复制到新文件,然后将其命名php.ini
。然后在那里进行这些更改。
另外,将来,要安装PHP和Composer之类的工具,我建议使用Chocolatey软件包管理器。然后就这么简单choco install composer
。当然,在使用choco方法安装Composer之前,您仍然需要编辑php.ini。在Windows的未来版本中,像Chocolatey这样的软件包管理工具将被烘焙到Windows中,apt-get
在Ubuntu中也是如此。开发人员激动人心的时代!
无论使用哪种方法,在安装Composer之后,请不要忘记重启终端。无论您使用的是命令提示符,Bash(与Git一起安装)还是Powershell,都需要在重新启动环境变量之前重新启动它。
即使启用了openssl,我也遇到了同样的问题。问题是Composer安装程序正在查看此配置文件:
C:\ wamp \ bin \ php \ php5.4.3 \ php.ini
但是实际加载的配置文件在这里:
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(WAMP类型)。在任务栏的EasyPHP图标中,右键单击并选择配置,然后选择PHP。我将PHP.ini
在记事本中打开文件配置,在记事本中查找或 在CTRL+F中OPENSSL
找到单词,您会发现;extension=php_openssl.dll
只需删除;即可。并且处于extension=php_openssl.dll
活动状态。
C:\ laravel-master> composer创建项目laravel / laravel安装laravel / laravel(v4.0.6)-安装laravel / laravel(v4.0.6)下载:100%在C:\ laravel-master \ laravel中创建项目Loading composer包含软件包信息的存储库安装依赖项(包括require-dev)
您需要编辑“ c:\ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini”文件,搜索:; extension = php_openssl.dll
开始时删除分号
注意:如果无法保存文件,则需要以管理员身份对其进行编辑。(在win7上)转到“开始”菜单,搜索记事本,右键单击记事本,然后单击“以管理员身份运行”
在composer安装窗口中,只需单击返回,然后单击下一步(或将其关闭,然后重新开始),它应该可以工作
打开wamp / bin / apache / apache2.4.4 / bin / php配置.. wamp / bin / php / php5.4.16 / php conf设置,php-ini生产,php-ini开发,phpForApache找到extension = php_openssl.dll 并取消注释通过删除;
简短有趣,请取消注释此行wamp/bin/php/php5.3.13
(或任何php版本):(
;extension=php_openssl.dll
删除;
)
现在运行Composer的命令行安装。您不会有任何错误。
好去!
您应该对php.ini进行符号链接。对不起,俄罗斯链接。
是的,您必须打开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
所有这些答案都是好的,但是实际上,如果您想了解,如果您希望所有未注释的扩展都起作用,则扩展目录必须正确。可以写一条物理或相对路径,例如
extension_dir = "C:/myStack/php/ext"
要么
extension_dir = "../../php/ext"
它是相对于httpd.exe Apache Web服务器(C:\ myStack \ apache \ bin)的,但是,如果您希望它与Composer或其他组件一起使用,则需要物理路径,因为cli模式不使用Web服务器!
我面临着同样的问题。我将我的php文件夹从重命名为php7_winxxxx
php,并且工作正常。看来作曲家正在检查中的php_openssl模块的位置c:/php/ext
。
您可能还需要添加c:/php
到PATH
in环境变量中
文章标签:composer-php , php , wampserver
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
评论已关闭!