php composer如何知道php版本?

Posted

技术标签:

【中文标题】php composer如何知道php版本?【英文标题】:how does php composer know the php version? 【发布时间】:2016-11-22 08:26:31 【问题描述】:

在成功将我的测试站点 (Debian Linux) 升级到 Zend Framework 3 之后,我想在运行 Server 5.1.5 的 OS X El Capitan 上重复该练习。最初它安装了 php 5.5.x,但我已经升级到 PHP 5.6.x 并使用 phpinfo() 显示验证了这一点。但是,当我尝试运行 composer 来安装 Zend Framework 3 模块时,它响应说它无法完成,因为安装了 PHP 5.5.x。重新启动等没有区别。 composer 如何判断正在使用哪个 PHP 版本,我如何说服它安装了 PHP 5.6.x?

【问题讨论】:

你检查你的环境变量了吗?也许你安装了两个版本的 php。 您是否使用brew 安装了您的php? 我想作曲家使用的 PHP 版本显示在 which php 下。您是在网络服务器还是在 cli 脚本中运行 phpinfo() ?可能是你的 web 服务器指向的是 5.6.x 版本,但是 cli 路径仍然指向 5.5.x 版本。 OS X 带有 Apache 和 PHP。但是,当安装服务器应用程序时,它会带来自己的 Apache 和 PHP 版本。它是我更新的服务器版本。然后我在浏览器中运行 phpinfo()。 已解决。我只需要添加一个带有 PATH 定义的 ~/.bash_profile,将新 PHP 的位置放在通用 $PATH 之前。 【参考方案1】:

对于在 Windows 上使用 WAMP 时不知道如何更改 Composer 的 PHP 版本的其他人:

Composer 使用可以从终端运行的 PHP 版本。因此,在 Windows 上,Composer(以及终端)通过系统 Path 变量知道 PHP 版本。

您可以轻松更改系统 -> 高级系统设置 -> 环境变量中的值。在Path 变量内应该是一个类似C:\wamp64\bin\php\php5.6.25 的值。更改值后,需要重新启动。

您始终可以通过在终端中运行php -v 来查找当前系统的 PHP 版本。

【讨论】:

为此+1;可能适用于任何本地开发设置(我个人在 XAMPP 上)。解释清楚;这为我解决了!【参考方案2】:

如果我理解正确,那么您的服务器已经是 PHP 5.6 并且应该能够运行 ZF3,但是 CLI 是 PHP 5.5 并且 Composer 停止获取 ZF3 模块,因为 PHP 太低了,对吧?

您有一个用于 CLI 的 PHP 和另一个用于服务器的 PHP。当您运行 composer 时,它将检查 CLI 中使用的当前运行的 PHP 的 PHP 版本。

我想到了两个解决方案:

更新您在 CLI 上使用的 PHP 或 将--ignore-platform-reqs 附加到您的作曲家命令中。 这将忽略 env 检查并假装一切正常。 请记住,这也会禁用某些模块可能需要的扩展检查。

【讨论】:

以上是关于php composer如何知道php版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何安装 Composer

如何安装 Composer

composer依赖管理使用

如何通过composer安装laravel框架

php版本管理工具composer安装及使用

在多版本php环境,指定composer使用的php版本