Ada*_*ler 5 php windows composer-php
我正在尝试使用以下调用的命令行安装Composer for Windows:
php -r"readfile(https://getcomposer.org/installer);" | PHP
但是,我收到此错误消息:
警告:readfile():无法找到包装器"https" - 您是否忘记在配置PHP时启用它?在第1行的命令行代码中
调用堆栈:0.0010 224336 1. {main}()命令行代码:0 0.0010 224488 2. readfile()命令行代码:1
警告:readfile(https://getcomposer.org/installer):无法打开流:第1行的命令行代码中的无效参数
调用堆栈:0.0010 224336 1. {main}()命令行代码:0 0.0010 224488 2. readfile()命令行代码:1
我已经取消注释了php5.5.12目录中的"; extension = php_openssl.dll"行,重新启动了浏览器,并尝试了其他变种.当我运行命令而只删除https中的's'时,我得到:
机器上的某些设置使Composer无法正常工作.确保您已修复下面列出的问题并再次运行此脚本:
缺少openssl扩展,这意味着无法进行安全的HTTPS传输.如果可能,您应该启用它或使用--with-openssl重新编译php
我已经尝试在各个地方包含这个--with-openssl标志,但它似乎没有做到这一点.
这听起来像你的安装没有启用openssl.
找到您的php.ini文件(在Windows上,这可能与php.exe(c:\php在我的机器上)相同.
在您喜欢的编辑器中打开它,找到该行
;extension=php_openssl.dll
Run Code Online (Sandbox Code Playgroud)
删除分号
extension=php_openssl.dll
Run Code Online (Sandbox Code Playgroud)
现在,HTTPS应该可以在php中运行.
好吧,由于无论出于何种原因,该解决方案似乎都不适合您,您可以观察到此命令所做的只是下载文件并将其打印到另一个php进程中。这是一个相当简单的问题,可以通过小的调整来解决。
例如,您可以删除https并使用http:
php -r "readfile('http://getcomposer.org/installer');" | php -- --disable-tls
Run Code Online (Sandbox Code Playgroud)
或者让其他工具获取这个文件,例如:
wget -s -O - "https://getcomposer.org/installer" | php -- --disable-tls
Run Code Online (Sandbox Code Playgroud)
甚至:
curl -sSk "https://getcomposer.org/installer" | php -- --disable-tls
Run Code Online (Sandbox Code Playgroud)
该选项--disable-tls与installer脚本相关,它会告诉它使用,http而不是https在安装期间执行的进一步下载中。
小智 5
它可以通过使用Havenard的答案来工作。只需添加“ ..”以包含网址
php -r "readfile('http://getcomposer.org/installer');" | php -- --disable-tls
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12803 次 |
| 最近记录: |