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版本?的主要内容,如果未能解决你的问题,请参考以下文章