Composer 读取错误的 PHP 版本(Windows 上的 ACQUIA DEV DESKTOP)

Posted

技术标签:

【中文标题】Composer 读取错误的 PHP 版本(Windows 上的 ACQUIA DEV DESKTOP)【英文标题】:Composer reading wrong PHP version (ACQUIA DEV DESKTOP on WINDOWS) 【发布时间】:2017-12-13 22:05:14 【问题描述】:

我正在尝试通过 composer 安装库 https://github.com/thephpleague/csv,但出现以下错误,即

'此软件包需要 php >= 5.5.9,但您的 php 版本 不满足该要求。'

我当前的 PHP 版本是 5.6.30,但由于某种原因,composer 显示的是 ,这很奇怪。

我在 WINDOWS 上使用 ACQUIA DEV DESKTOP,可以在 PHP 版本之间轻松切换,并且可以通过 a) dpm(phpinfo()); 检查 PHP 版本。或 b) 显示与 ACQUIA DEV DESKTOP 中设置的版本相同的 drush php。

这会导致与作曲家相关的问题,因为它正在读取错误的 PHP 版本。

我安装这个库的步骤,即

将 composer.phar 文件从“DevDesktop/tools”文件夹复制到我的 Drupal 项目根目录,然后通过 drush 使用“composer require League/csv”,这给了我这个错误....

'此软件包需要 php >= 5.5.9,但您的 php 版本 不满足该要求。'

“drush php”给了我这个...“贾斯汀·吉勒曼的 Psy Shell v0.8.3”

我已经检查了在线资源是否存在类似错误,但没有一个解决方案符合我的情况,因此发布了这个问题。

不确定这是否与问题有关,但我注意到“DevDesktop\tools\drush.bat”有第一行,即

IF "%PHP_ID%"=="" (SET PHP_ID=php5_5)

我改成了

IF "%PHP_ID%"=="" (SET PHP_ID=php5_6)

堆栈停止/启动并尝试下载“composer 需要租约/csv”但没有更改(结果相同)。

提前致谢。

【问题讨论】:

也许您在 cli 中的版本与您在浏览器中看到的不同?试试 php -v 'drush php -v' 给了我与 'drush php' 完全相同的响应。即 Justin Jileman 的“Psy Shell v0.8.3 (php 5.6.30 cli)” 【参考方案1】:

找到此错误的解决方案并希望分享,因为它可以帮助遇到相同问题的其他人并可能改进解决方案,因为它似乎是一个快速修复,而它应该是一个通用修复:)

如果你安装 Acquia DevDesktop 软件,composer 默认自带这个。

通过 Acquia DevDesktop 软件,我们可以轻松地在 php 版本之间切换,也可以设置默认的 php 版本,但是当我尝试通过持续阅读 5.4 版的 composer 下载库时,这并没有帮助。

由于 Acquia DevDesktop 支持不同的 PHP 版本,即 5.3、5.4、5.5、5.6、7。默认情况下,composer 正在读取 php 版本 5.4,我仍然需要找到需要修改的文件,以便可以更改默认 php 版本作曲家。

就我而言,我所做的是......

转到 Program Files > DevDesktop > tools 文件夹。

有 4 个具有不同扩展名但名称相同的文件,即“composer”。删除这些所有文件将从您的系统中删除作曲家。

从https://getcomposer.org/ 下载 composer.exe 并给它一个目标文件夹,即“Program Files > DevDesktop > php5_6”并安装。

安装后,现在转到您的项目并使用命令提示符或 drush 控制台,键入“composer require League/csv”,这应该会下载项目“供应商”文件夹中的所有文件。

【讨论】:

以上是关于Composer 读取错误的 PHP 版本(Windows 上的 ACQUIA DEV DESKTOP)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Composer 看到错误的 PHP 版本

Composer Yii2 非全局变量 归档安装 Win7

win10安装composer时,提示找不到php拓展的模块,这是为啥

参考 - 升级 PHP 后 Composer 错误“您的 PHP 版本不满足要求”

使用 Alpine 的 apk 命令安装 composer 时使用了错误的 PHP 版本

composer设置忽略版本匹配