提问者:小点点

作曲家读取错误的PHP版本(Windows上的ACQUIA DEV DESKTOP)


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

'此软件包需要php

我当前的PHP版本是5.6.30,但由于某种原因作曲家显示

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

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

安装此库所遵循的步骤,即

从DevDesktop/tools文件夹复制composer.phar文件到我的Drupal项目根目录,然后通过drush使用的作曲家需要联盟/csv,这给我这个错误......

'此软件包需要php

“drush php”给了我这个…“Justin Jileman的Psy Shell v0.8.3”

我已经检查了在线资源中的类似错误,但没有一个解决方案与我的情况相匹配,因此发布了这个问题。

不确定这是否与问题有关,但我注意到“DevDesktop\tools\drush”。蝙蝠有第一条线,即

如果“%PHP\u ID%”=“”(设置PHP\u ID=php5\u 5)

我改成了

如果“%PHP\u ID%”=“”(设置PHP\u ID=php5\u 6)

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

提前谢谢。


共1个答案

匿名用户

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

如果安装Acquia DevDesktop软件,默认情况下composer会附带此软件。

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

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

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

转到程序文件

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

从https://getcomposer.org/下载composer.exe并给它一个目标文件夹,即程序文件

安装后,现在转到您的项目,通过使用命令提示符或drush控制台,键入“composer require league/csv”,它将下载项目“vendor”文件夹中的所有文件。