Composer 和 PHP 版本,在 Composer 安装上忽略 PHP 版本,这是一个坏主意吗?

问题描述 投票:0回答:4

在我们的服务器(Centos 5.11)上将 PHP 更新为 > v5.3.2 后,我想像在其他环境中一样安装 Composer。

Composer 文档指出“Composer 需要 PHP 5.3.2+ 才能运行”。我有 PHP 5.4.45。尽管如此,当尝试

curl -sS https://getcomposer.org/installer | php

退出并出现警告

PHP Warning: file_get_contents(https://getcomposer.org/versions): failed to open stream: Connection timed out in - on line 762 PHP Warning: Invalid argument supplied for foreach() in - on line 508 None of the 0 stable version(s) of Composer matches your PHP version (5.4.45 / ID: 50445)

我发现

这个答案涉及安装 Composer 时忽略系统要求。

这是可以做的事情还是有点可怕/轻率的事情?而且,我可以使用 Composer 的其他版本(“不稳定”或其他版本)吗?或者也许 PHP 应该再次更新 -> 5.6.x?

感谢您的任何提示和帮助!

php composer-php
4个回答
3
投票
我从 https 更改为 http,

curl -sS http://getcomposer.org/installer | php

然后就可以安装了


2
投票
这不是你的 PHP 版本的问题,而是连接问题。

您有 3 条消息(2 条警告和 1 条作曲家信息),它们告诉您整个故事。

(第一个警告)Composer 的安装程序无法获取 Composer 的版本列表列表

由于连接超时,因此(第二个警告)它没有一个列表来迭代并匹配适合您的 PHP 版本的 Composer 版本,这暗示(第三条消息)没有找到作曲家的版本。

根本问题是第一个警告。这条线

file_get_contents(https://getcomposer.org/versions);

没用。这就是你的问题。

根据所提供的信息很难告诉您确切的解决方案。


0
投票
我认为这可能是代理问题。删除

https_proxyhttp_proxy 环境变量对我有用(Windows 10)。然后安装,将代理设置为空白。它应该像对我一样有效。


0
投票
要删除当前 cmd 实例中的变量,请执行以下操作:

set http_proxy= set https_proxy=
或者(更好):

set "http_proxy=" set "https_proxy="
要删除未来 cmd 实例的变量,请执行以下操作:

setx http_proxy "" setx https_proxy ""
    
© www.soinside.com 2019 - 2024. All rights reserved.