如何更改composer使用的PHP版本

时间:2017-10-28 04:07:25

标签: php composer-php

我在互联网上做了很多研究,我发现我的问题很多,但它们并不完全是我所拥有的。我想要的是在我的机器中使用另一个使用WAMP (2 PHP version installed)安装的php版本。我还安装了composer并使用PHP5.6版本。我有一个新项目需要< PHP7.0。每当我从WAMP的控制面板中选择PHP 7然后运行php -v时,它仍然会打印PHP5.6 (CLI)...而不是PHP7

如何在不重新安装作曲家的情况下使用PHP7?

9 个答案:

答案 0 :(得分:20)

您可以在不卸载的情况下更改phper的composer版本,请按照以下步骤操作:

  1. 在cortana中搜索系统环境变量。
  2. 点击“环境变量”按钮。
  3. 在“系统变量”下选择路径并单击编辑,您将看到一个类似“C:\ wamp \ bin \ php \ php5.6.13”的条目。
  4. 只需将此更改为位于wamp / bin / php7.1.9的php的文件夹名称,此处bin7.1.9是文件夹名称。
  5. 用bin7.1.9替换php5.6.13,它看起来像这些“C:\ wamp \ bin \ php \ php7.1.9”,只需在所有方框上单击“确定”。
  6. 你已经完成了。
  7. 要验证,首先关闭所有cmd窗口,而不是打开cmd并键入php -v,按回车键,您应该看到php7.1.9。
  8. 如果您没有看到php版本的变化,只需重新启动电脑并在cmd中再次运行php -v,它就能正常工作。

答案 1 :(得分:10)

如果仍有问题,请记住您可以使用已安装的任何php版本运行composer,例如$ php7.3 -f /usr/local/bin/composer update

使用which composer命令来帮助查找作曲家的可执行文件。

答案 2 :(得分:5)

如果您正在使用WAMP,我会假设Windows。 Composer可能只是在您的路径中使用PHP集:How to access PHP with the Command Line on Windows?

您应该能够使用相同的说明更改PHP的路径。

否则,composer只是一个PHAR文件,您可以下载PHAR并使用任何PHP执行它:

C:\full\path\to\php.exe C:\full\path\to\composer.phar install

答案 3 :(得分:5)

另一种让 Composer 认为您使用的是正确版本的 PHP 的可能性是在 config 文件的 composer.json 部分添加一个 platform option,如下所示:

"config": {
    "platform": {
        "php": "<ver>"
    }
},

其中 <ver> 是您选择的 PHP 版本。

来自文档的片段:

<块引用>

允许您伪造平台包(PHP 和扩展),以便您可以模拟生产环境或在配置中定义目标平台。示例:{"php": "7.0.3", "ext-something": "4.0.3"}。

答案 4 :(得分:1)

我发现composer与php版本一起运行/ usr / bin / env首先在$ PATH中找到,在我的MacO上是7.1.33。 因此,将Mamp的php迁移到开始时对我有帮助。

PHPVER=$(/usr/libexec/PlistBuddy -c "print phpVersion" ~/Library/Preferences/de.appsolute.mamppro.plist)

export PATH=/Applications/MAMP/bin/php/php${PHPVER}/bin:$PATH

答案 5 :(得分:1)

我知道一个老问题,不过只是添加一些其他信息:

  • WAMP仅在Microsoft Windows操作系统上使用。
  • 通过单击鼠标左键-> PHP->“版本”菜单更改PHP的版本,以更改Apache用于服务器站点的版本。
  • 通过右键单击->工具->更改PHP CLI版本菜单更改使用的PHP版本,以更改WAMP的PHP CLI使用的版本。

注意:重要的是要了解WAMP自己的内部PHP脚本使用了“ PHP CLI版本”。此“ PHP CLI版本”与您希望用于脚本,Composer或其他任何版本的版本无关。

要使脚本使用所需的版本,您需要将其路径添加到“用户环境路径”。您可以将其添加到“系统”环境路径中,但建议使用“用户路径”。

从WAMP v3.1.2开始,它在检测到对系统或用户环境路径中的PHP路径的引用时将显示错误。这是为了避免您遇到的混乱。从v3.1.7开始,现在可以通过WampSettings菜单中的选择来选择性地显示此错误。

如之前的答案所示,将安装的PHP路径(例如“ C:\ wamp64 \ bin \ php \ php7.2.30”)添加到“用户环境路径”是正确的方法。 PS:由于“用户环境路径”的值是一个字符串,因此所有添加的路径都必须用分号(;)分隔

遇到了完全相同的问题(即:选择我希望使用Composer的PHP版本)后,我创建了一个脚本,可以根据正在处理的项目轻松,快速地在PHP CLI版本之间进行切换。

可以在https://github.com/custom-dev-tools/WampServer-PHP-CLI-Version-Changer上找到Windows批处理脚本“ WampServer-PHP-CLI-Version-Changer”

希望这对其他人有帮助。

祝你好运。

答案 6 :(得分:0)

我找到了一个非常简单的方法来切换 php 版本:

  • 搜索系统环境变量
  • 点击“环境变量”
  • 在“系统变量”下选择路径并点击编辑
  • 将您要使用的 PHP 版本文件夹移到另一个文件夹之前。 例如:现在将使用 php 7.0:

enter image description here

  • 点击“确定”关闭所有窗口
  • 关闭所有 cmd 窗口,然后打开 cmd 并输入 php -v
  • 您将看到现在加载的正确 php 版本: enter image description here

答案 7 :(得分:-1)

以上答案绝对解决问题。但是,如果您不想每次都自己更改 Path ENV 变量,我使用 C++ 创建了一个工具,它可以通过非常简单的 cli 界面为您完成这项工作。

PHP Version Switcher Github Repo

<块引用>

它只修改用户路径变量而不是系统路径变量(除了可访问性之外,两者的工作方式相同)

示例用法(切换到另一个php版本):

switcher set --version=80

答案 8 :(得分:-1)

如果在windows中更改环境变量后仍然遇到问题,请尝试删除目录或重命名旧php的目录。 我已经完成了,并且成功了。